2012-04-20 316 views

回答

317

菜單工具選項軟件包管理器

Enter image description here

給一個名稱和文件夾位置。點擊確定。將您的NuGet包文件放在該文件夾中。

轉到您的項目,右鍵單擊並選擇「管理NuGet包」並選擇您的新包源。

Enter image description here

這裏是documentation

+14

其實,我已經做了幾次第1步。但是當我打開查看已安裝的軟件包,更新或最近的軟件包時,我的軟件包未顯示在步驟2中。 – Tom 2012-04-20 04:20:09

+2

在我的屏幕上,我只有「已安裝的軟件包」下的「All」而不是「NuGet官方軟件包源」,而不是我自定義的「newNuget」,他們缺失。 – Tom 2012-04-20 04:22:37

+0

您正在使用哪個版本的VS?你有更新版本的nuget嗎? – Shyju 2012-04-20 04:23:40

230

您也可以使用Package Manager Console,並通過指定的路徑包含在-Source參數包文件的目錄調用Install-Package的cmdlet:

Install-Package SomePackage -Source C:\PathToThePackageDir\ 
+2

我可以做一些類似的命令行工具嗎? – 2013-10-09 13:11:08

+4

是的。 '-Source'選項也可以在[nuget.exe](http://docs.nuget.org/docs/reference/command-line-reference)中找到。例如:'nuget install SomePackage -Source C:\ PathToThePackageDir' – 2013-10-09 13:29:00

+1

有點快,對不起。我想要的是另一種方式。我很樂意使用nuget命令行將dll安裝到cms站點上的bin文件夾中。但我發現網上閱讀,它不能安裝,只能拉下dll。 – 2013-10-09 13:30:38

21

如果你有一個.nupkg文件,只是需要.dll文件,你所要做的就是將擴展名改爲.zip並找到lib目錄。

+2

如果您將其作爲zip文件處理,則文件名中具有空格的文件將使用%(取代空格)進行提取。爲了避免使用NuGet進行安裝。 – Rahatur 2016-04-09 06:10:31

+0

其實,你甚至不需要重命名擴展名。只需右鍵單擊該文件,然後選擇打開方式,然後找到一個可以打開.zip文件的應用程序,並打開.nupkg文件,然後可以將所需的dll文件提取到指定的文件夾中。 – jyao 2017-12-15 19:07:21

52

對於.nupkg文件,我喜歡用:

Install-Package C:\Path\To\Some\File.nupkg 
+1

只有工作。如果目錄的路徑包含空格,請將其包含在雙引號中。 – 2017-08-25 13:21:09

+1

同意。值得一提的是,只有絕對路徑可以工作。 – 2017-10-25 05:46:49

+0

對於2017年不適用,請參見f.ex.回答@格蘭傑。 – RenniePet 2018-03-04 23:46:59

24
  1. 文件名爲LocalPackages添加到文件夾在你旁邊溶液(它沒有要調用的,但調整的XML接下來的步驟相應)
  2. 創建一個名爲NuGet.config旁邊的解決方案文件與文件,內容如下

    <?xml version="1.0" encoding="utf-8"?> 
        <configuration> 
        <packageSources> 
         <add key="LocalPackages" value="./LocalPackages" /> 
        </packageSources> 
        <activePackageSource> 
         <!-- this tells that all of them are active --> 
         <add key="All" value="(Aggregate source)" /> 
        </activePackageSource> 
    </configuration> 
    
  3. 如果解決方案在Visual Studio中打開,請關閉它,然後重新打開它。現在

你的軟件包應該出現在瀏覽器,或使用安裝,包裝

+0

謝謝!有用! – 2017-08-23 06:14:14

6

對於Visual Studio 2017年安裝的,它是新的.csproj格式

可以不再僅僅是使用安裝,包指向一個本地文件。 (這可能是因爲PackageReference元素不支持文件路徑;它只允許你指定包的ID)

你首先必須告訴VS你的包的位置,然後你可以將它添加到項目中。大多數人做的是進入NuGet包管理器,並添加本地文件夾作爲源(工具>>選項>> NuGet包管理器>>包源代碼)。但是這意味着你的依賴的位置不會被提交(對版本控制)與你的代碼庫的其餘部分。

使用相對路徑

本地的NuGet包這將增加只適用於特定的解決方案包的源,你可以使用相對路徑。

您需要做的是在與.sln文件相同的目錄中創建一個nuget.config文件。使用所需的軟件包源配置文件。當您下次在VS2017中打開該解決方案時,這些源文件夾中的任何.nupkg文件都將可用。 (您將看到包管理器中列出的源代碼,當您管理項目的包時,您會在「瀏覽」選項卡上找到包)。你開始:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
     <add key="MyLocalSharedSource" value="..\..\..\some\folder" /> 
    </packageSources> 
</configuration> 

背景故事

我的使用情況下此功能是,我有我的機器上的單個代碼庫的多個實例。代碼庫中有一個共享庫,作爲.nupkg文件發佈/部署。這種方法允許遍及我們的代碼庫的各種相關解決方案在相同的回購實例中使用該包。另外,有一些全新安裝的VS2017可以在任何他們想要的地方簽出代碼,並且依賴的解決方案將成功恢復和構建。