【问题标题】:Nuget restore without VS with package content installation没有 VS 的 Nuget 还原和包内容安装
【发布时间】:2018-10-28 09:13:17
【问题描述】:

我正在尝试为我的 .Net 项目配置 CI。

我在 CI 脚本中使用

nuget.exe restore mysolution.sln

但是这个命令只下载 ./packages 目录下的 nuget 包,不安装项目中的内容。

在 Visual Studio 中我可以使用

Update-Package -reinstall -Project YourProjectName

Update-Package -reinstall 

这两个命令都重新安装包含内容的软件包,而不仅仅是下载。 例如,nuget包GDAL在安装后在项目中添加了文件GdalConfiguration.cs,但在“nuget restore”命令之后没有。第二个示例 - 包 Microsoft.SqlServer.Types,在项目中添加文件夹 SqlServerTypes。

如何在没有 VS 的情况下通过脚本完全重新安装 pckages?你如何解决这个问题?

感谢您的帮助!

【问题讨论】:

  • 您是否尝试过 nuget.exe 的“更新”命令(可能是在执行“还原”之后)?
  • 您使用的是哪个 CI?大多数 CI 都内置了 nuget 来恢复你的包
  • @AmanB 感谢您的评论!我正在使用 Gitlab CI。我误会了,CI 如何自己恢复我的包?
  • @elgonzo 感谢您的评论!是的,我试过了,没有成功。根据 Leo Liu-MSFT 的说法 - 做我想做的事是不可能的..
  • @Arseniy 对 CI 有完全相同的问题。我最终在我的 ci/cd 脚本中添加了一个手动“复制”命令 :(( нугет говно.

标签: c# .net visual-studio continuous-integration nuget


【解决方案1】:

如何在没有 VS 的情况下通过脚本完全重新安装 pckages?你如何解决这个问题?

恐怕没有 Visual Studio 就无法重新安装 nuget 包。那是因为所有这些重新安装命令行都必须在包管理器控制台窗口上执行,我们不能在 Visual Studio 之外使用包管理器控制台 powershell,因为 包管理器控制台提供的是对 Visual Studio 对象的访问

https://github.com/NuGet/Home/issues/1512

那些CI命令行不会修改项目文件或packages.config,那你使用nuget restorenuget installnuget update的原因,这些命令行都没有修改项目文件,检查NuGet CLI reference了解更多详情:

查看my other thread 以获得一些帮助。

【讨论】:

  • 这有点让我气馁 - 人们如何使用 CI 解决这个问题?他们将所有包文件添加到 git 中的每个项目?很奇怪。但是再次感谢你,我不会再浪费时间了!
  • "人们如何使用 CI 解决这个问题?他们将所有包文件添加到 git 中的每个项目中?"---Nuget 包(或者只是说 \packages 文件夹不应该添加到 git ) 不应添加到 git 中。但是内容文件需要添加到git,这意味着那些GdalConfiguration.cs和文件夹SqlServerTypes应该添加到git(这意味着项目文件中的<Content Include="GdalConfiguration.vb" />行将被添加到git)。当我们拉取源并使用 nuget 将这些 nuget 包还原到 \packages 文件夹时,这些内容文件的路径将匹配。
  • 再一次,如果以上答案解决了您的问题,您可以接受它作为答案。这可能对阅读此主题的其他社区成员有所帮助,我们可以关闭此主题,如果没有,请立即免费告诉我您的问题,我会继续关注。
  • 对,对不起,我忘记了复选标记。感谢您的详细解答和帮助!
  • @LeoLiu-MSFT 对 CI/CD 有完全相同的问题。因此,如果一个 nuget 包将 jquery、图标字体或图像等添加到我的网络应用程序中 - 我不得不将它添加到 git。太好了。微软就是微软。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-13
  • 2017-03-07
  • 2012-05-07
  • 2018-07-31
相关资源
最近更新 更多