强制使用msbuild 4.0在.Net 4.0中编译项目,即使是.Net fw。 4.5已安装

时间:2017-08-29 06:09:33

标签: c# visual-studio msbuild .net-4.0 .net-4.5

我有一个旧的遗留应用程序,它是用.Net fw构建的。 3.5。然而我设法升级到.Net fw。 4.0并且无法进一步将其迁移到更高版本,因为有旧组件和第三方dll。

现在进行新的集成工作,我使用的是.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也是如此?

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

1 个答案:

答案 0 :(得分:0)

不幸的是,答案是否定的。

Dot Net 4.5是Dot Net 4.0的升级版。

请参阅此Scott Hanselman Blog Post

您可以尝试从命令行使用MSBuild。有时,Visual Studio对解决程序集引用的“帮助”过于激进。

Dot Net 4.0附带的MSBuild版本就在这条道路上:

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

4.5升级后.Exe文件不一样,但值得一试。