使用packages.config安装本地NuGet包?

3

我想安装一个NuGet软件包(即.nukpg文件),该文件已存储在一个目录中。使用NuGet命令行可以轻松完成批处理脚本,但是否有一种方法可以使用内置的“packages.config”文件来完成这个任务?


我只知道packages.config文件指定了已安装到项目中的NuGet包。我们可以使用此文件在命令行中重新安装它,参见:https://dev59.com/qWw15IYBdhLWcg3wCXKJ和http://blog.davidebbo.com/2011/03/using-nuget-without-committing-packages.html。 - Jack Zhai
@JackZhai,你误解了... packages.config 使用默认的 nuget 存储库作为源,我想要它使用本地文件夹作为包的源。但现在没关系,我已经找到了一个解决方法。不过,如果有答案的话仍然很好。 - BWG
实际上,我没有找到直接使用配置文件的解决方案,那么创建一个本地 NuGet Feeds 怎么样?https://docs.nuget.org/create/hosting-your-own-nuget-feeds - Jack Zhai
@JackZhai 我已经完成了这个操作,我希望我的 feed 直接被引用到 packages.config 文件中。否则你必须将该 feed 添加到全局 nuget 设置中,或者通过命令行调用在编译时传递该 feed 的源。这两种方法都不是理想的选择。 - BWG
我经常使用VS设置来添加它,并在命令行中安装它。或者使用NuGet配置文件https://docs.nuget.org/consume/nuget-config-file。我没有找到其他更好的解决方法。 - Jack Zhai
1个回答

2

是的,你可以从你的packages.config中引用本地文件。你需要更新你的NuGet.Config文件,并向<packageSources>部分添加如下内容:

<packageSources>
  <add key="MyLocalPackages" value="external/packages" />
</packageSources>

value是指您的程序包所在的路径。

然后,在您的packages.config文件中,只需引用本地包目录中的版本即可,例如:

<package id="Foobar" version="1.1.5-alpha" targetFramework="net45" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接