针对 Visual Studio 2017 及其新的 .csproj 格式
你不能再像以前一样直接使用 Install-Package 来指向本地文件了。可能是因为 PackageReference 元素不支持文件路径,它只允许指定包的 Id。
你首先需要告诉 Visual Studio 包的位置,然后才能将其添加到项目中。大多数人会进入 NuGet 包管理器,并将本地文件夹添加为源(菜单 工具 → 选项 → NuGet 包管理器 → 包源)。但这意味着你的依赖位置并未与代码库的其他部分一起提交(到版本控制)。
使用相对路径的本地 NuGet 包
这将添加一个仅适用于特定解决方案的包源,并且你可以使用相对路径。
你需要在与你的 .sln 文件相同的目录中创建一个 nuget.config 文件,并配置所需的包源。当你下次在 Visual Studio 2017 中打开该解决方案时,来自这些源文件夹的任何 .nupkg 文件都将可用。(在包管理器中,你会看到源列表,在为项目管理包时,你会在“浏览”选项卡中找到这些包。)
下面是一个示例 nuget.config 文件,可以帮助你入门:
背景
我使用这个功能的原因是,我在我的电脑上有多个相同代码库的实例。代码库中有一个共享库发布/部署为.nupkg文件。这种方法允许代码库中的各个依赖解决方案在同一仓库实例中使用该软件包。此外,只要装有Visual Studio 2017的新安装用户可以随时检出代码,而且依赖解决方案将能够成功还原和构建。