c#将构建环境升级到2017会导致运行时错误

时间:2018-04-10 12:28:43

标签: .net visual-studio-2015 msbuild

我们正在为我们的项目使用Visual Studio 2015和.Net 4.5。 随着项目规模的扩大,我们希望建立一个构建环境,而不是在开发人员工作站上构建。

我们使用chocolaty来安装" microsoft-build-tools 15.0.26320.2"这是一个视觉工作室2017年建设环境。 chocolaty包需要.Net 4.6.2包。

我们所有的项目都参考了ToolsVersion 14.0和TargetFrameworkVersion v4.5。项目文件如下所示:

<Project ToolsVersion="14.0" ...>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

如果目标系统上安装了.Net 4.6.2,项目将编译并运行,没有任何问题。如果只安装.Net 4.5,我们在尝试启动程序时会出错。

导致此问题的代码行是

string.Format(new CustomFormatProvider(), "{0:fs}", value);

编译器引用了4.6中引入的静态方法String.Format(IFormatProvider,string,object)而不是String.Format(IFormatProvider,string,param object [])

有谁能告诉我,如何让MSBuild.exe只使用.Net 4.5中已有的方法?

0 个答案:

没有答案