升级到不在Windows 2012 Jenkins服务器上构建的.NET Framework 4.6

时间:2015-12-16 14:23:15

标签: .net visual-studio-2012 .net-framework-version .net-4.6 .net-4.6.1

我们有一个新的Windows 2012服务器,我一直使用它作为我们的Jenkins构建服务器。我的应用程序已经在.NET Framework 4.5上成功构建,但是当我们升级到.NET 4.6时,构建已停止工作。

向下看日志我看到了这个错误:

  

RateCalculator.cs(49,13):错误CS0012:类型' System.Object'在未引用的程序集中定义。您必须添加对程序集的引用,System.Runtime,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。

我的应用中没有Web.config,只有Application.config文件。我试过添加这个:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

但是它没有解决错误。

我们通过检查Windows更新和注册表,仔细检查了.NET Framework 4.6是否正确安装。

在我的本地开发环境中,我在Windows 7上运行的Visual Studio 2015上编译时正确构建。 Jenkins构建服务器在Windows 2012服务器上具有Visual Studio 2012以及出现错误的位置。

1 个答案:

答案 0 :(得分:1)

所以我通过在Windows 2012服务器上安装.NET Framework 4.6 Targeting pack解决了这个问题。

如果您使用的是Visual Studio 2012并希望使用.NET 4.6,则需要在安装目标包之前下载并安装.NET Framework 4.6。

感谢Hans Passant和其他人帮助我指向目标包。

我是从https://www.microsoft.com/en-us/download/details.aspx?id=48136

安装的