2016-05-17 31 views
0

我的理解是,nuget CLI和visual studio本身不僅可以與官方的nuget.org源一起使用,還可以與來自第三方網站(如myget)的其他源一起使用。Nuget Feed是否遵循已定義的標準?

這是否意味着供稿本身遵循了定義的標準,因此這些工具可以與任何供稿一起使用?

如果是這樣我在哪裏可以找到這個標準?

我也對v2v3 nuget.org提要之間的區別感到困惑。

更新

我現在明白了,有官方的NuGet的兩個版本飼料,v2這是基於OData的和v3這是一個REST API。我也明白,nuget cli和視覺工作室可以同時與兩個人交談。

我還是不明白的是,如果你看看這個帖子https://docs.nuget.org/create/hosting-your-own-nuget-feeds,它指出

有可用的進行遠程 私人幾個第三方的NuGet服務器提要易於配置和SET-包括Visual Studio Team Services,MyGet,Inedo的ProGet,JFrog的Artifactory,NuGet 服務器以及Sonatype的Nexus。請參閱NuGet生態系統概述 以瞭解有關這些選項的更多信息。

對於nuget cli和visual studio都能夠處理所有這些不同的第三方供稿,肯定必須有一些基礎的通用標準供稿格式。它們是否都使用與v2相同的OData格式?這是我的問題的關鍵。

回答

0

NuGet v2提供了OData提要。

NuGet v3提供了一個寧靜的API,它使用了幾種不同的協議,我認爲其中的一種協議基於JSON-LD。

Building NuGet 3.x有一些關於這方面的信息。

也有在another StackOverflow post

什麼的NuGet API的第三方服務器支持到第三方服務器有關的NuGet版API的更多信息。 VSTS例如支持NuGet v2和NuGet v3 API,每個API都有不同的url。例如Team City實現了NuGet v1 API。 ProGet在撰寫本文時支持NuGet v2。

NuGet客戶端本身會隱藏這些差異,除非您使用某些較低級別的類。 NuGet客戶端本身有一個簡單的檢查,如果URL以index.json結尾,那麼它是一個NuGet v3提要,並使用一組不同的類來連接到服務器。否則,它會使用一組NuGet v2類連接到服務器。

+0

我也讀過這是我的問題的原因。似乎沒有一個標準(v2基於OData,v3 rest api,第三方??),那麼visual studio,.net cli如何能夠處理所有這些不同的提要? – kimsagro

+0

NuGet有兩個內置的客戶端,這是Visual Studio在其NuGet包管理器中使用的。一個用於NuGet v2,一個用於NuGet v3。 。NET CLI使用NuGet與v2和v3訂閱源進行通信。 –

+0

我已經通過進一步的說明更新了這個問題 – kimsagro

相關問題