.Net auf Rechner ohne .Net laufen lassen ? Wo liegt das Problem ?



  • Ich hab gelesen das ich keine Einstellung verwenden kann um .Net Programme so zu linken das es auf einem Rechner läufte der kein .Net hat.

    Jedoch ist bei der MSDN Dokumentation zu jeder Klasse ja die jeweilige DLL angegeben, was hindert mich also mit den Befehlen von http://en.wikipedia.org/wiki/Dynamic-link_library einfach die DLL's meiner exe beizulegen und auf die DLL zu verweisen ? Funktioniert das ? Wenn nein, warum nicht (bzw. wo kann ich sowas nachlesen)?

    PS: Ich will nicht unnötig viel Zeit damit verschwenden mit dem rumprobieren, deshalb die Frage, besonders weil ich noch nie eine DLL manuell gelinkt habe und auch fast keine Ahnung habe wie das/was da abläuft.

    Hintergrund: Ich verwende in einer Facharbeit C++ in der 12 für einen Projektkurs (statt das in der Schule verwendete Java) um Bilder auszulesen und zu bearbeiten und weil es schneller ist und ich mit Java schlechte Erfahrungen gemacht habe, auf den Schulrechner ist jedoch kein .Net Framework installiert, welches ich sowohl für mein UI als auch zum auslesen der Bilder verwende, und man kann es soweit ich weiß auch nicht installieren.



  • candybomberz schrieb:

    Ich verwende in einer Facharbeit C++

    Was hat es mit .NET zu tun? Was hat .NET mit MFC zu tun?

    Es geht nicht, weil du das Framework brauchst. Eine .NET ist keine richtige exe, die muss erst vom Framework just in time kompiliert werden. Man könnte zwar mit ngen ein native image draus machen, dann brauchst du aber immer noch die einzelnen Libraries vom Framework. Die wirst du glaub ich nicht einfach so ausliefern dürfen. Bin mir da aber nicht 100% sicher. Macht aber auf jeden Fall wenig Sinn.
    Was sinn denn das für Rechner, wo kein .NET drauf ist? Windows 95?



  • Nein, da ist Windows XP drauf, aber wenn ich die exe ausführen will sagt er mir das keine .Net installiert ist. Und das sind Schulrechner, da ist nichtmal die aktuelle Java Version drauf ...

    Außerdem verwende ich MFC (Visual C++) und bei einigen von mir verwendeten Klassen steht in der Dokumentation als ober Kategorie .Net Framework 4.5
    http://msdn.microsoft.com/de-de/library/system.drawing.bitmap.aspx



  • Sicher dass das tatsächlich die richtige Klasse ist? Wenn du MFC verwendest, dann brauchst du die MFC dlls und vermutlich die Visual C++ Runtime. .NET kannst du in C++ gar nicht einfach so verwenden. Wenn du tatsächlich .NET verwendest, dann programmierst du vermutlich nicht in C++, sondern in C++/CLI. Ich hoffe sehr, dass du nicht .NET in C++/CLI verwendest und da drin dann auch noch die MFC; mir fehlen die Worte wie falsch das wär...



  • @candybomberz
    Für C++ brauchst du kein .NET. Höchstens die Runtime DLLs, falls du diese nicht statisch linkst.
    Was du verlinkt hast ist allerdings wirklich eine .NET Klasse, und zwar ein Wrapper um GDI+ Funktionen. (GDI+ wird zwar von .NET verwendet, ist aber ansich in C++ programmiert.) D.h. vermutlich verwendest du C++/CLI, was wie ja schon erwähnt wurde eine ganz schlechte Idee ist.

    Wenn du keine Zeit verschwenden willst, würde ich dir empfehlen das zu verwenden was ihr auch gelernt habt, also in deinem Fall Java.
    Dann kannst du davon ausgehen dass auf den Schul-PCs alles nötige vorhanden ist.



  • Die von Dir gezeigte Klasse ist eine .NET-Klasse. Ich vermute mal, dass Du *nicht* die MFC verwendest, sondern WinForms, da Du sowieso nur die Express-Version hast. Da gibt es gar keine MFC...



  • Jochen Kalmbach schrieb:

    Die von Dir gezeigte Klasse ist eine .NET-Klasse. Ich vermute mal, dass Du *nicht* die MFC verwendest, sondern WinForms, da Du sowieso nur die Express-Version hast. Da gibt es gar keine MFC...

    Express-Version ? Wo steht das ?

    Da passt jedenfalls einiges nicht zusammen.

    Ist Visual-Studio überhaupt auf dem Rechner installiert ?

    Wenn ja, welche Version genau ?

    Kann es sein, das der MSDN-Link einfach der falsche war ?

    MSDN Windows GDI+ Bitmap class (Windows)

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms534420(v=vs.85).aspx

    Dafür benötigt man kein .NET und das läuft ab Windows 2000.

    Und das lässt sich auch mit und ohne MFC verwenden.



  • Danke erstmal an alle Antworten, die waren sehr aufschlussreich und könnten mir sogar letztendlich helfen mein Programm, lauffähig zu kriegen.

    Aufjedenfall hat es einige Lücken in meinen C++/CLI/.Net Grundlagen geschlossen. Das kommt davon wenn man sich das selbst beibringt/"zusammen zimmert". 😃
    👍 😉 🙄

    PS: habe MFC mit MVC (Microsoft Visual C++) verwechselt (kleine Dyslexia)



  • candybomberz schrieb:

    PS: habe MFC mit mit MVC (Mikrosoft Visual C++) verwechselt (kleine Dyslexia)

    Microsoft schreibt man mit c.
    Zum Microsoft Visual C++ sagt man VC oder MSVC, aber nicht MVC.
    MVC heisst dafür aber z.B. Model-View-Controller.



  • hustbaer schrieb:

    Zum Microsoft Visual C++ sagt man VC oder MSVC, aber nicht MVC.

    Ja, ich meinte damit auch eher das ich nur in diesem Teil des Forums gepostet habe, weil das Visual C++ vorkam, sollte mein ganzer Tread, woander hingehören dann tut es mir äußerst leid ^^, habe irgentwie den Teil "C++/CLI mit .NET" übersehen, was aber auch daran lag das ich nicht genau wusste wozu das genau gehört/"was ich eigentlich tue", scheinbar benutzte ich aber MFC garnicht



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten