【问题标题】:Force to use msbuild 4.0 to compile the project in .Net 4.0 even when .Net fw. 4.5 is installed强制使用 msbuild 4.0 在 .Net 4.0 中编译项目,即使是 .Net fw。 4.5安装
【发布时间】:2018-02-06 11:30:24
【问题描述】:

我有一个在 .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?

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

【问题讨论】:

  • 项目 --> 属性 --> 应用程序 --> 目标框架?
  • 已经设置好了。它没有帮助。

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


【解决方案1】:

很遗憾,答案是否定的。

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文件不一样了,但是值得一试。

【讨论】:

  • 我已经在一个批处理文件中拥有它,我们在其中按顺序编译所有项目。我们设置了最初设置的路径 PATH=%PATH%;%WINDIR%\Microsoft.NET\Framework\v4.0.30319 我仍然遇到了这个问题。所以我认为如果安装了Framework 4.5.X,除了卸载它别无他法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
  • 2013-02-13
相关资源
最近更新 更多