2023/09/04

Visual Studio 2022 解決NuGet 使用私倉 重啟需要重新輸入帳號密碼問題 Nexus Repository

最近身體堪憂,早上剛找完醫生報到,到家時看到公司的前輩問我為什麼VS每次重新開啟後都需要輸入帳號密碼

接著我就開始進入滿臉問號的情況

一開始排查方向往Nginx Proxy方面去找,但發現配置上沒有任何問題

接著開始著手Nexus Repository Role的問題,也沒發現有缺少的配置

最後開始著手研究了下NuGet所儲存的配置檔

在資料夾輸入下方指令找到NuGet配置檔
%userprofile%\AppData\Roaming\NuGet



找到了「為 NuGet 設定需驗證的 proxy」,比較後確定配置檔案有差異,後來又找到了這篇「Nuget私包源记住用户名和密码
結果我的VS內可以運行NuGet,但再cmd或PowerShell無法運行
本來想說要去下nuget回來,結果前輩說可以透過winget安裝
沒有安裝winget可以透過PowerShell進行安裝
$progressPreference = 'silentlyContinue'
Write-Information "Downloading WinGet and its dependencies..."
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile Microsoft.VCLibs.x64.14.00.Desktop.appx
Invoke-WebRequest -Uri https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.7.3/Microsoft.UI.Xaml.2.7.x64.appx -OutFile Microsoft.UI.Xaml.2.7.x64.appx
Add-AppxPackage Microsoft.VCLibs.x64.14.00.Desktop.appx
Add-AppxPackage Microsoft.UI.Xaml.2.7.x64.appx
Add-AppxPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

接著輸入下方命令安裝NuGet
winget install -e --id Microsoft.NuGet
接著輸入找到NuGet路徑
winget --info


接著再資料夾輸入下方命令找到NuGet的路徑並加入環境變數內
%LOCALAPPDATA%\Microsoft\WinGet\Packages

重啟cmd or PowerShell輸入下方命令即可將帳號密碼儲存再NuGet Repo內
nuget sources add -Name "Repo Name" -Source "Repo URL" -username "userName" -password "Password"


接著就能看到NuGet配置檔有變化了


如果發現了「指定的來源已新增至可用套件來源清單中。請提供唯一的來源。」,請手動刪除NuGet配置檔相同url的來源,或使用VS刪除即可