我们有一个新的Windows 2012服务器,我一直在使用它作为我们的Jenkins构建服务器。我的应用程序已经在.NET框架4.5上成功建立,但是当我们升级到.NET 4.6时,构建已停止工作。升级到.NET Framework 4.6而不是基于Windows 2012 Jenkins服务器
向下看日志我看到这个错误:
RateCalculator.cs(49,13): error CS0012: The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly '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,这就是出现错误的地方。
这是一个粗液,但为什么不能在构建服务器上安装VS 2015的免费版本? – Erwin
您的构建服务器不知道4.6的bean,它没有安装目标包。对C#v6也一无所知。不更新您的构建服务器以及开发人员使用的VS版本当然是一个错误。 –
是Hans,你是对的 - 构建服务器不知道4.6 – ShaunP