我需要为.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. 安装项目依赖项中的.NET 3.5 .NET 4错误
- 8. 针对.NET Framework 3.5编译的项目允许C#4.0功能
- 9. 需要在visual studio中编译项目到.net 3.5 sp1
- 10. 为同一个项目编译不同的代码 - Swift框架
- 11. LuaInterface - 在.Net 3.5/.Net 4.0下编译FileLoadException
- 12. .NET 4项目中的.NET 3.5程序集(WPF C#)
- 13. 从.net 4项目引用nuget包的.net 3.5版本
- 14. 如何部署一个asp.net 3.5项目?
- 15. 如何在同一个应用中同时定位.net 3.5和4.0?
- 16. 如何为.NET 4 C#编译器指定.NET版本?
- 17. 实现一个面向3.5和4.0的.Net项目
- 18. 在同一个项目中编译C++和ObjC文件
- 19. 从同一个项目编译32位和64位?
- 20. 如何将一批.NET DLL反编译到Visual Studio项目中
- 21. 如何以编程方式编译和编译当前项目中的另一个c#项目
- 22. 运行.NET 3.5进程时,.NET 4和.NET 3.5之间是否存在差异
- 23. 与.NET 3.5的项目
- 24. 如何使用Ant编译和jar一个Android项目?
- 25. Angular 4素材项目不编译
- 26. VS2005:如何将项目编译为VS6?
- 27. 如何编译推力和C++项目?
- 28. 我该如何编译单声道目标C#/ .net 4
- 29. 如何编译一个多模块maven项目,其中一个模块同时具有clojure和java代码
- 30. pInvoke,.net 4 vs 3.5
是否有实际的差异是你的代码或在针对不同平台时参考哪些dll? – alun
如果你没有在你的代码中使用任何.NET4功能,你为什么需要编译为.NET 4? .NET4项目可以毫无问题地使用.NET 3.5编译的二进制文件。 – jgauffin
不,代码没有区别。所有程序集都引用2.0版本的库。 –