我需要爲.Net 3.5和.Net 4.0編譯一個項目。做這件事的最低摩擦方式是什麼?如果我從另一個程序集中引用此項目,那麼如何確定哪個運行時目標?或者我應該直接引用二進制文件?如何同時爲.Net 3.5和4編譯一個項目
回答
我這樣做只需要有兩個csproj文件。然後,我可以輕鬆設置版本,參考,構建符號等。爲了避免維護兩個文件列表,我用毯子包括 - 即
我(在二級的.csproj):
<Compile Include="..\TheMainProject\**\*.cs" />
這是說「編譯所有的.cs文件和在 .. \ TheMainProject下。
謝謝,我想這就是我要去的。 –
你爲什麼需要這個?
隨着柱/預構建的任務,你可以運行的MSBuild目標不同的框架,看到的說法 「toolversion」
http://msdn.microsoft.com/en-us/library/ms164311.aspx
MSBuild.exe MyProject.proj /ToolsVersion:4.0
而看看
http://msdn.microsoft.com/en-us/library/ee395432.aspx
但我仍沒有看到任何situat離子在哪裏我需要。
定位完整運行時,silverlight,monodroid,...或者當然,如果你的代碼在.net版本之間有點不同,也會有類似的情況。也許增加一個功能只支持新版本的框架。 – CodesInChaos
您可以利用多重定位功能。
基本上你將最終獲得類似的東西:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<MSBuild Projects="@(ProjectsToBuild)"
Properties="TargetFrameworkVersion=$(CustomTargetFrameworkVersion)" />
詳情參見:
- 1. 使用.NET 4.0編譯器編譯.NET 3.5項目
- 2. MSbuild 4.0無法編譯.net 3.5項目
- 3. 如何在.NET中將一個項目編譯爲多個dll
- 4. 如何編譯IronPython以用於.NET 3.5項目?
- 5. 將C#.net 4代碼編譯爲.net 3.5?
- 6. 同時編譯java項目的10000個
- 7. 創建VSPackage的目標.NET 3.5和4
- 8. 安裝項目依賴項中的.NET 3.5 .NET 4錯誤
- 9. 針對.NET Framework 3.5編譯的項目允許C#4.0功能
- 10. 需要在visual studio中編譯項目到.net 3.5 sp1
- 11. 爲同一個項目編譯不同的代碼 - Swift框架
- 12. VS2012編譯.net 4?
- 13. LuaInterface - 在.Net 3.5/.Net 4.0下編譯FileLoadException
- 14. .NET 4項目中的.NET 3.5程序集(WPF C#)
- 15. 從.net 4項目引用nuget包的.net 3.5版本
- 16. 如何在同一個應用中同時定位.net 3.5和4.0?
- 17. 實現一個面向3.5和4.0的.Net項目
- 18. 如何爲.NET 4 C#編譯器指定.NET版本?
- 19. 如何部署一個asp.net 3.5項目?
- 20. 運行.NET 3.5進程時,.NET 4和.NET 3.5之間是否存在差異
- 21. 與.NET 3.5的項目
- 22. 如何將一批.NET DLL反編譯到Visual Studio項目中
- 23. 在同一個項目中編譯C++和ObjC文件
- 24. 從同一個項目編譯32位和64位?
- 25. 如何以編程方式編譯和編譯當前項目中的另一個c#項目
- 26. 如何爲不同版本的.NET只有一個項目?
- 27. 如何使用Ant編譯和jar一個Android項目?
- 28. FTPWebRequest .NET 3.5 vs 4
- 29. pInvoke,.net 4 vs 3.5
- 30. VS2005:如何將項目編譯爲VS6?
是否有實際的差異是你的代碼或在針對不同平臺時參考哪些dll? – alun
如果你沒有在你的代碼中使用任何.NET4功能,你爲什麼需要編譯爲.NET 4? .NET4項目可以毫無問題地使用.NET 3.5編譯的二進制文件。 – jgauffin
不,代碼沒有區別。所有程序集都引用2.0版本的庫。 –