在我的開發箱上,我安裝了 .net 4.6.2 和 dotnet-sdk-2.1。我最初有 4.0 然后是 4.5 然后是 4.6.2我能夠在一個項目上運行 dotnet build,該項目同時針對 netstandard2.0 和 net45,如下所示:<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>我能夠成功構建它并運行單元測試等。我看到 bin 目錄包含每個目標框架的子目錄并包含所有 DLL。當我嘗試將我的 CI 構建放在基于 Windows Server 2016 的 teamcity 代理上時。我收到一個錯誤:未找到框架“.NETFramework,Version=v4.5”的參考程序集。這讓我很困惑,因為機器安裝了 .NET 4.6.2 SDK。(它還安裝了 dotnet sdk 2.1)做一些谷歌搜索,我看到很多人提到框架應該在字典中:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\當我檢查 Server 2016 機器時,我看到了目錄和子目錄:v4.6.2 no subdirectories for 4.5然而,在我的開發框中,我看到了各種目錄:4.5、4.0、3.5、4.6.2 ...我無法在 Server 2016 機器上安裝 framework 4.5 SDK,因為它已經安裝了更高版本。因此,我似乎無法在該機器上構建面向 .NET 4.5 的目標。作為健全性檢查,我將我的 csproj 文件更改為:<TargetFrameworks>netstandard2.0;net462</TargetFrameworks>我能夠成功地構建該項目。所以構建確實有效,但在那臺機器上需要 4.6.2。如果我的目標是net46.我在這里做錯了什么?有沒有辦法讓我能夠在 Server 2016 機器上將我的項目多目標到 net45?
1 回答

慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
安裝 .NET Framework 4.5 Developer Pack 以構建 .NET Framework 4.5 項目。
您說您的服務器安裝了 .NET Framework 4.6.2 Developer Pack,并且您正在嘗試使用它構建 .NET Framework 4.5 項目。
與每個版本都包含(可以這么說)先前版本的運行時包不同,您需要擁有針對您所針對的框架的確切版本的開發者包。
- 1 回答
- 0 關注
- 161 瀏覽
添加回答
舉報
0/150
提交
取消