Rob*_*Rob 3 msbuild .net-framework-version
在我的解决方案中,我有对(例如)System.ServiceModel.dll的项目引用,其中“使用特定版本”设置为false。msbuild 3.5一切正常。
我想使用msbuild 4.0才能使用属性函数。我尝试传递属性“ TargetFrameworkVersion = 3.5; ToolsVersion = 3.5”。但是,出现以下错误:
无法加载文件或程序集'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.configuration \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.configuration.dll'或其依赖项之一。
如果我使用msbuild 3.5,则不会发生这种情况。
我可以在不指定项目文件版本的情况下进行此工作吗?(将来我们可能希望将应用程序升级到dotnet 4)
编辑:我尝试在“外部”调用中使用msbuild 3.5,并<msbuild>为那些需要新功能的目标调用msbuild(使用任务)4.0。这也没有运气-内部调用会给出以下错误消息:
错误MSB4062:无法加载文件或程序集'Microsoft.Build.Tasks.v4.0,Version = 4.0.0.0或其依赖项之一。该系统找不到指定的文件。确认声明正确,并且程序集及其所有依赖项均可用。
传递给msbuild的参数是:
/p:TargetFrameworkVersion="v3.5"
Run Code Online (Sandbox Code Playgroud)
MSBuild 3.5及更高版本(3.5、4.0、2012、2013等)中提供了此功能。它更改了该生成的msbuild脚本内的属性。
需要特别注意的是,您甚至可以为每个MSBuild版本指定计算机上安装的所有目标版本。通常,您无法在Visual Studio中执行此操作(例如,在2010年使用4.5.1),但是MSBuild 4.0(vs2010)会将其用作属性值并使用它。
| 归档时间: |
|
| 查看次数: |
6498 次 |
| 最近记录: |