您需要在 .sln 文件所在的目录中创建 nuget.config 文件 . 使用所需的包源配置文件 . 当您下次在Visual Studio 2017中打开解决方案时,这些源文件夹中的任何.nupkg文件都将可用 . (当您管理项目的包时,'ll see the source(s) listed in the Package Manager, and you'将在"Browse"选项卡上找到包 . )
<?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>
6 回答
您还可以使用Package Manager Console并通过在
-Source
参数中指定包含包文件的目录的路径来调用Install-Package
cmdlet:如果您有.nupkg文件并且只需要.dll文件,您只需将扩展名更改为.zip并找到lib目录 .
对于Visual Studio 2017及其新的.csproj格式
您不能再使用Install-Package指向本地文件 . (这可能是因为
PackageReference
元素没有't support file paths; it only allows you to specify the package' s Id . )首先,您必须告诉Visual Studio有关包的位置,然后您可以将其添加到项目中 . 大多数人做的是进入NuGet包管理器并添加本地文件夹作为源(菜单工具→选项→NuGet包管理器→包源) . 但这意味着您对代码库的其余部分的依赖性(版本控制) .
使用相对路径的本地NuGet包
这将添加仅适用于特定解决方案的包源,并且您可以使用相对路径 .
您需要在
.sln
文件所在的目录中创建nuget.config
文件 . 使用所需的包源配置文件 . 当您下次在Visual Studio 2017中打开解决方案时,这些源文件夹中的任何.nupkg文件都将可用 . (当您管理项目的包时,'ll see the source(s) listed in the Package Manager, and you'将在"Browse"选项卡上找到包 . )这是一个让你入门的例子
nuget.config
:背景故事
我的这个功能的用例是我的机器上有多个单个代码存储库实例 . 代码库中有一个共享库,它作为.nupkg文件发布/部署 . 此方法允许整个代码库中的各种依赖解决方案在同一存储库实例中使用该包 . 此外,全新安装Visual Studio 2017的人可以在任何他们想要的地方签出代码,依赖解决方案将成功恢复和构建 .
将文件添加到解决方案旁边名为LocalPackages的文件夹中(不必调用它,但在相应的步骤中调整xml)
使用以下内容在解决方案文件旁边创建一个名为NuGet.config的文件
现在您的包应该出现在浏览器中,或者可以使用Install-Package进行安装
Menu Tools → Options → Package Manager
提供名称和文件夹位置 . 单击确定 . 将NuGet包文件放在该文件夹中 .
转到您的项目,右键单击并选择"Manage NuGet Packages"并选择新的包源 .
这是documentation .
对于我喜欢使用的.nupkg文件: