想在伺服器跑一下 Azure AD 登入程式範例,將本機的專案資料夾複製到 Windows Server,用 Chocolatey 安裝 dotnet-sdk、vscode(註:不少朋友問「何不 winget?」,winget 要從微軟商店安裝對 Server 不友善),Server 搖身變成 .NET 開發環境。

但不知為何,在本機測得好好的專案,移到 Windows Server 後連編譯都成問題,出現 error NU1100: Unable to resolve 'Micrsoft.Identity.*' for 'net7.0'錯誤:

以為是我把本機產生的 .vscode/obj/bin 資料夾一併帶過去造成混淆,又懷疑是 Microsoft.Identity.Web.GraphServiceClientBeta 是預覽版有什麼特殊之處。試了一圈,新建一個空白專案對照,發現連 Dapper 都無法加入,確認是 NuGet 的新增套件功能故障。

爬文學到小常識,用 dotnet nuget list source 可檢查 NuGet 下載來源,dotnet nuget add source --name nuget.org https://api.nuget.org/v3/index.json 可設定來源。理論上安裝 .NET SDK 時應該會設好(我有在另一台用 choco install -y dotnet-sdk 驗證),但這台機不知為何沒設來源,補上問題就排除了。

參考資料:There are no versions available for the package - MS Q&A

A problem troubleshooting case where NuGet couldn't resolve packages. It was eventually discovered that the issue was caused by missing source configuration.


Comments

Be the first to post a comment

Post a comment