2011-04-20 628 views

回答

11

除編譯的庫之外,nuget包實際上包含什麼?

Take a look here。基本上它是一個擴展名爲.nupkg的文件,它只不過是一個包含上一個鏈接中解釋的結構和一些xml元數據的.zip文件。

是否有可能在不使用包管理器的情況下下載這些包並在別處使用它們?

當然,只需下載.nupkg文件即可。

+0

感謝您的回答,Darin!但是,我無法找到一個鏈接來下載.nupkg文件,例如http://nuget.org/List/Packages/EntityFramework – virtualmic 2011-04-20 10:02:14

+3

@virtualmic,這裏:http://packages.nuget.org/v1/Package /Download/EntityFramework/4.1.10331.0 – 2011-04-20 10:11:00

+2

@Darin Dimitrov你怎麼能夠找出包裹的URL? – RationalGeek 2011-09-20 18:04:26

1

其他意見打包網頁: 下載* .zip文件後(示例jquery)將結尾從* .zip更改爲* .nupkg,然後您可以使用VS中的包管理器安裝它們。 也許只是我不得不考慮一段時間。如果沒有,希望它有幫助。

+0

* nupkg你的意思是? – Alyce 2013-04-09 23:44:42

+0

@Alyce修復這個 – 2013-04-13 07:39:35

1

對不起,這應該是一個評論,但我沒有足夠的代表。

基於由this answer提到Chrome擴展生成的HTML,我們可以指出的是,以下載不是最新的軟件包提高gth685f's answer,URL是packages.nuget.org/api/v2/package/<PACKAGE_YOU_WANT>/<VERSION_NUMBER>(注意遞增API版本號太)。

2

大家都知道,你可以在nuget.org上創建一個賬戶。一旦登錄,下載鏈接將出現在左側工具欄上,這將允許您直接下載任何.nupkg文件。

-2

您也可以使用命令行工具nuget。exe文件下載nupkg文件,像這樣:

nuget install packageId

以獲取最新版本,或

nuget install packageId -Version version

,以獲得特定版本。

+0

他說沒有nuget包管理器。 – Tillman32 2016-09-18 17:49:17

0

引用的NuGet可一些工作(大多數?)的時候,但你也可能會碰到的問題版本。例如,嘗試將Microsoft HTTP Client Libraries NuGet package添加到.NET 4項目並檢查生成的csproj文件。

首先,你會發現,一些BCL組件已被重寫:

  1. System.IO.dll
  2. System.Runtime.dll
  3. System.Threading.Tasks

現在所有引用的項目必須使用這些替代以及(因爲你不能引用同一程序集的多個版本)。除此之外,它意味着你失去了對這些程序集的更新(除非BCL NuGet包也更新了)。

你也會注意到你的csproj包含以下項(如果你刪除它,它不會工作):

<Import Project="..\packages\Microsoft.Bcl.Build.1.0.13\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.13\tools\Microsoft.Bcl.Build.targets')" /> 

我不是見地有關MSBuild的,但我猜這可能會影響您的構建環境。