Ich benutze .NET4.0, aber aus Kompatibilitätsgründen möchte ich auf eine .NET2 DLL von C# kompilieren. Es sollte keine .NET4.0-spezifische Funktionalität im Skript geben, daher sollte es in einer .NET2-Umgebung funktionieren. Gibt es eine Befehlszeilensyntax auf der CSS, mit der ich eine Versionsnummer angeben kann?Kompiliere eine .NET2.0 DLL von .NET4.0
Antwort
Sie erwähnten csc.exe
, also nehme ich an, dass Sie nicht mit Visual Studio, sondern über die Befehlszeile erstellen werden. Außerdem gehe ich davon aus, dass msbuild
nicht auf der Build-Maschine verfügbar ist.
Ich glaube, dass csc.exe
für jede Version spezifisch ist. Im Ordner C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
finden Sie beispielsweise csc.exe
, und im Ordner C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
finden Sie eine andere Version von csc.exe
.
Um eine .NET 2.0-DLL zu erstellen, sollten Sie auf die csc.exe
aus dem v2.0-Ordner (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
) verweisen.
Prost!
Großartig. Vielen Dank. Ich wusste nicht, dass mehrere Frameworks auf dem System installiert waren. – steventnorris
In Visual Studio Sie die Ziel Framework-Version auf .NET 2.0 in den Eigenschaften des Projekts konnte:
Wenn Sie mit MSBuild Sie (die natürlich von innen VS enthält) bauen dann kann die Ziel-Framework-Version im Dialogfeld Projekteigenschaften angeben. Wenn Sie jedoch manuell erstellen, scheint es there is no surefire way to express that restriction.
Legen Sie in den Projekteigenschaften das Zielframework auf 2.0 fest. Wenn Sie Funktionen wie LINQ verwenden, die im 2.0-Framework nicht vorhanden sind, funktioniert diese Methode nicht. Wenn Sie vollständige Kompatibilität mit 2.0 Framework benötigen, sollten Sie Ihren Code für das 2.0 schreiben und dann das Targeting für das 4.0 später kompilieren, wenn Sie es benötigen.
Wenn Sie manuell über die Befehlszeile kompilieren, können Sie nicht einfach das v2-Framework csc ausführen?
zB (Pfade von meiner Maschine)
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
oder für v4
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
- 1. RegAsm dll .net2.0 bis .net4.0
- 2. Wie kompiliere ich eine 64-Bit-Version meiner DLL?
- 3. Warum AccessViolationException von .NET4.0 nicht abgefangen werden kann
- 4. Wie kompiliere ich eine WPF-Anwendung als DLL?
- 5. Serialisierung XML C# .NET2.0
- 6. Artikelformat In .NET2.0 validieren
- 7. Wie kompiliere ich eine ASP.NET-Website in eine einzelne DLL-Datei?
- 8. .net2.0 vs .net 4.0 gdi + Unterschied?
- 9. Wie kompiliere ich eine C DLL für 64 Bit mit Visual Studio 2010?
- 10. Kann eine DLL eine .NET DLL aufrufen?
- 11. Wie kompiliere ich eine Erweiterung für PHP 5.3 für Windows als DLL?
- 12. Notify Änderungen in der Liste wpf .net4.0
- 13. Implementieren von Tastenkombinationen in der .NET2.0-Windows-Anwendung
- 14. Können Sie eine C# DLL von einer C DLL aufrufen?
- 15. Öffnen Sie eine DLL und schreiben Sie
- 16. Trouble Compiling DLL, die auf eine andere DLL
- 17. Kompiliere LAPACK für Windows mit MinGW-w64
- 18. Kompiliere xcode Projekt in eine Bibliotheksdatei
- 19. Wie kompiliere ich eine Hive UDF
- 20. eine DLL, mehrere Projekte?
- 21. Eine DLL von einer externen Quelle laden
- 22. Erstellen Sie eine DLL von HEX-Code
- 23. Verschieben von Formularressourcendateien in eine Ressourcen-DLL
- 24. Könnte eine DLL innerhalb von SAS funktionieren?
- 25. Aufruf nicht-DLL-Funktion von DLL-Funktion
- 26. ServiceBus AppFabricLabs DLL
- 27. Dynamisch eine DLL laden
- 28. C++ eine DLL einhängen?
- 29. Wie kompiliere ich Code von stdin?
- 30. Wie kompiliere ich APK von der Kommandozeile?
Ich glaube, dass als Build-Ziel in den Projekteigenschaften festlegen können. –
http://msdn.microsoft.com/en-us/library/bb398202.aspx –
Wollen Sie sagen, dass Sie eine .Net 2.0-DLL auf einer Maschine installieren möchten, die NUR .NET 4.0 installiert hat? Oder wäre .Net 2/3/3.5 auch installiert? – Brook