我们有一个新的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以及出现错误的位置。
答案 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
安装的