2012-01-23 375 views
47

無論何時我試圖安裝某些東西,甚至只列出軟件包,我都會收到此錯誤「底層連接是關閉:無法建立SSL/TLS安全通道的信任關係「Visual Studio 2010 nuget錯誤:底層連接已關閉:無法建立SSL/TLS安全通道的信任關係

我嘗試this解決方案Codeplex沒有運氣。我使用latest version of Nuget

我也試過在devenv.exe.config不同的選擇是這樣的:

<servicePointManager checkCertificateName="false" checkCertificateRevocationList="false"/> 

回答

83
  • 轉到VS2010→工具→庫包管理器→包管理器設置。

  • 選擇包管理器→包源。

  • 添加新的包源爲:

  • 移新添加的包源到第一的位置。

  • 取消選中現有的 「官方的NuGet包源」

  • 重啓VS2010。

+4

解決方案適合我。 –

+2

雖然挺老的,但確實有幫助... –

+1

也適合我! –

10

轉到https://nuget.org/並獲得其證書。

例如,如果您使用的是Firefox:在打開nuget站點後 - 點擊地址欄左側的站點圖標,點擊「更多信息」,在安全選項卡上應該有「Web站點標識」部分「查看證書」按鈕。點擊那裏,在打開的對話框中選擇詳細信息選項卡 - 您應該看到* .nuget.org鏈。點擊底部的'導出'按鈕並將證書保存到文件中(手動添加.cer擴展名,因爲對話框不會爲您執行)。

現在您需要設置您的系統以便它信任證書。按Win + R(運行對話框將打開) - >在那裏鍵入mmc並運行它(如果您打開了UAC,則使用管理員權限)。在選擇文件 - >添加或刪除管理單元... - >選擇左邊的證書,在對話框中選擇Computer accountLocal computer。單擊確定 - 樹會在Console root中有Certificates節點。打開它並將文件夾Trusted People。從上下文菜單中選擇所有任務 - >導入... - >選擇之前導出的文件並導入它。

一切都應該工作正常。

+0

在瀏覽器中,我現在不認證sertificate錯誤,但我的VS仍然無法安裝軟件包。 –

+0

@Akim我也沒有錯誤,但直到我向TrustedPeople添加了nuget證書之前,我一直在看到相同的錯誤。可能不需要建立連接和查看網站內容,但需要將二進制文件從站點安裝到您的盒子。 –

9

我們有同樣的問題在工作中,我們通過降低安全套接字,的Https解決了這個 - >HTTP。這意味着您可以使用V2 URL http://nuget.org/api/v2/

可能是一個問題,擺脫安全套接字的,但上面的URL(http://packages.nuget.org/v1/FeedService.svc/)也是不安全的。

+0

當我嘗試的時候,我得到了一個http 404. – guiomie

+0

你在嘗試哪個URL?首先?我只是試過那個,它工作正常 – christiandev

6

相關:ServicePointManager不支持使用https方案的代理

如果你以前有小提琴手開放,你很可能有nuget.org的證書是無效的。

如果是這樣,開闢MMC,添加證書管理單元(當前用戶)和個人存儲中刪除nuget.org。

Example certificate to remove

由於飼養的NuGet一個句柄,這個證書(貌似),你將不得不重新啓動Visual Studio。之後,你應該玩得很開心。

+1

謝謝。順便說一下,它是certmgr.msc。 –

+1

這爲我修好了,雖然證書沒有命名爲nuget.org,但是在名字中用nuget和myget刪除了。非常感謝張貼您的發現Andy – Janaka

4

轉到VS2012 - >工具 - >庫包管理器 - >軟件包管理器設置 選擇軟件包管理器 - >軟件來源。新添加的包源名稱= NugetSource來源= http://packages.nuget.org/v1/FeedService.svc/

  • 拉昇至第一位置:

    1. 添加新的包源的。
    2. 取消選中現有的 「官方的NuGet包源」
    3. 重啓VS2012。

    這是工作在我的機器上。

  • 2

    截至今天21-Jan-2015,正確的網址是https://www.nuget.org/api/v2/。 www是必需的或證書失敗。不要回到http,因爲你打開你的代碼和所有的消費者到一個討厭的MITM向量。

    +0

    除了FeedService網址之外,這也適用於我。 –

    0

    我可以通過降低安全套接字解決這個問題,https->http。 轉到工具->NuGet包管理器->軟件來源,然後添加一個新的來源,但沒有https

    這意味着http://nuget.org/api/v2/

    0

    ,我不得不刪除在本地計算機設置爲https的NuGet並添加(HTTP),它在工具的用戶層面 - >庫包管理器 - >軟件包管理器設置選擇軟件包管理器 - >軟件來源。

    相關問題