我們有一個新的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