2017-08-29 256 views
0

我有一个旧的遗留应用程序,内置.Net fw。 3.5。不过,我设法让它升级到.Net fw。 4.0,并且无法进一步将其迁移到更高版本,因为存在旧组件和第三方dll。强制使用msbuild 4.0编译.Net 4.0中的项目,即使.Net fw。 4.5已安装

现在为了一个新的集成工作,我使用的是一个内置.Net fw 4.5的dll,它是一个非常小的dll,它只是让我相信一些内部调用。

当我在VS 2010中编译工具版本为4.0和目标框架为4.0它仍然给我错误,说汇编引用缺失?并且还提供了dll是.Net fw 4.5的详细信息,该项目的目标是4.0。

但是,当我卸载.Net fw 4.5和vs 2015,2013并重新安装2010并编译它的工作。并通过部署进行检查。

现在,由于我的生成服务器已安装.Net 4.5.2,我不想做所有这些卸载工作。

是否有任何方法/解决方法使项目在msbuild 4.0中编译并仅通过.net fw 4.0编译,即使.Net 4.5安装在机器中?

非常感谢您的建议和帮助我

+0

项目 - >属性 - >应用程序 - >目标框架? – HimBromBeere

+0

即已设置。它没有帮助。 – vidz

回答

0

很不幸,答案是

点网4.5是一个在就地升级到斑点网4.0。

看到这个Scott Hanselman Blog Post

你可以尝试使用MSBuild的命令行。有时,Visual Studio在解析程序集引用时“过分有帮助”过于激进。

的MSBuild与斑点网4.0附带的版本是这样的路径:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 

这.exe文件是不是4.5升级后是相同的,但它是值得一试。

+0

我已经把它放在一个批处理文件中,我们按顺序编译了所有的项目。我们先设置路径 set PATH =%PATH%;%WINDIR%\ Microsoft.NET \ Framework \ v4.0.30319 我仍然遇到过这个问题。所以我认为如果安装了Framework 4.5.X,除卸载它之外别无它法 – vidz