繁体   English   中英

在Visual Studio外部管理Nuget包

[英]Manage Nuget Packages Outside Visual Studio

我的组织希望隔离没有网络访问权限的网络上的所有开发机器。

我发现这篇文章给出了一些nuget主机产品,以便可以脱机使用这些软件包。

我的问题是,我找不到管理软件包更新的方法,因为具有Internet访问权限的计算机不会安装Visual Studio。

我正在寻找是否有一种工具可以读取存储所有nupkg文件的文件夹并检查是否有较新版本并下载它,或者读取手动创建的packages.config文件来检查较新版本并将其下载到文件夹中。

有谁知道如何以这种方式管理nuget包? 我花了最后一个星期试图找到一种方法,但我没有看。

有谁知道如何以这种方式管理nuget包?

根据NuGet CLI参考

如果这些引用已经存在,则update命令还会更新项目文件中的程序集引用。

因此,当我们使用NuGet.exe更新程序包时,我们不仅需要packages.config,还需要解决方案/项目,否则,您将得到以下错误:

“无法找到'D:\\ NuGetServer \\ packages.config'的项目文件

您可以从安装了Visual Studio的计算机中复制一个简单的项目,然后使用以下命令行更新package.config文件中的nuget软件包:

nuget update "YourProjectPath\packages.config"

但是默认情况下,NuGet会将软件包更新到解决方案文件夹下的packages文件夹中,因此我们需要在更新软件包之前将packages文件夹更改为所有nupkg文件存储的文件夹。

详细步骤

  1. nuget.org下载nuget.exe ,将其设置为本地计算机。

  2. 在路径%appdata%下创建一个NuGet文件夹,添加NuGet.Config文件,然后通过repositoryPath更改packages文件夹,只需将其设置为“ D:\\NuGetServer ”:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> </packageSources> <config> <add key="repositoryPath" value="D:\\NuGetServer" /> </config> </configuration> 
  1. 从其他计算机复​​制解决方案,将软件包添加到package.config文件中:

     <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.1.0" targetFramework="net45" /> <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" /> <package id="NUnit" version="3.7.0" targetFramework="net45" /> </packages> 
  2. 打开一个CMD文件,在步骤1中切换到NuGet的存储路径,然后使用update命令:

在此处输入图片说明

您将在packages.config中找到软件包。这些软件包已更新为最新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM