案例 1
您正在執行具有 『HTTP』 來源的 『restore』 作業:myHttpSource。 NuGet 需要 HTTPS 來源。 若要使用 HTTP 來源,您必須在 NuGet.Config 檔案中明確將 'allowInsecureConnections' 設定為 true。 如需詳細資訊,請參閱 https://aka.ms/nuget-https-everywhere。
Issue
myHttpSource 是不安全的 HTTP 來源。 建議您改用 HTTPS 來源。
Solution
選項 1:將來源更新為使用 HTTPS
可能的話,請更新套件來源以使用 https://,而不是 http://:
<configuration>
<packageSources>
<add key="SecureSource" value="https://example.com/nuget/" />
</packageSources>
</configuration>
選項 2:允許不安全的連線(如有必要)
如果來源必須保持 HTTP,請在 AllowInsecureConnections中新增 NuGet.Config 旗標,明確允許不安全的連線:
<configuration>
<packageSources>
<add key="InsecureSource" value="http://example.com/nuget/" allowInsecureConnections="true" />
</packageSources>
</configuration>
選項 3:諮詢 SDK 分析層級
專案中的 SdkAnalysisLevel 屬性可作為管理 HTTP 來源的暫時因應措施。
如果需要額外的時間來解決 HTTP 錯誤,您可以降低 SdkAnalysisLevel 暫時隱藏錯誤。
以下是其運作方式:
- 對於低於9.0.100的SDK分析層級
值,使用 HTTP 來源會觸發警告( NU1803 )。 - 從 SDK 分析層級 9.0.100 或更高版本開始,除非明確啟用
AllowInsecureConnections,否則 HTTP 來源會產生錯誤 (NU1302)。
Warning
變更 SdkAnalysisLevel 有其他副作用。 如需 SdkAnalysisLevel 受影響之 .NET SDK 功能完整範圍的摘要,請參閱 。
案例 2
您使用的是包含 'HTTP' 服務索引資源端點http://contoso/v3-flatcontainer/contoso/index.json的 NuGet 來源 'https://contoso/v3/index.json':'。 這是不安全的,不建議這樣做。 若要允許 HTTP 資源,您必須在 NuGet.Config 檔案中明確將 'allowInsecureConnections' 設定為 true。 如需詳細資訊,請瀏覽:https://aka.ms/nuget-https-everywhere。
Issue
已設定的套件來源使用 HTTPS,但其其中一個資源 (在錯誤訊息中指出) 使用 HTTP。
NuGet 需要所有來源及其資源都使用 HTTPS。
如果您想要繼續使用此來源,儘管其 HTTP 資源,則必須在 NuGet.config 檔案中將旗標設定 allowInsecureConnections 為 true。
若要深入瞭解套件來源和資源端點,請查看 NuGet 伺服器 API。
選項 1:將來源更新為使用 HTTPS
盡可能切換至僅提供 HTTPS 資源的套件來源。 這是推薦且最安全的選項。
選項 2:允許不安全的連線(如有必要)
如果您必須使用來源,請在 allowInsecureConnections :NuGet.Config
如需在 Visual Studio 中管理設定的相關資訊,請參閱 Visual Studio 中的 NuGet 選項
<configuration>
<packageSources>
<add key="InsecureSource" value="https://contoso/v3/index.json" allowInsecureConnections="true" />
</packageSources>
</configuration>