【问题标题】:Nuget package that has no dependents没有依赖项的 Nuget 包
【发布时间】:2017-08-03 12:35:15
【问题描述】:

我正在为 .NET 项目使用 mspec (machine specification) 单元测试框架。

我使用 nuget 来获取所有必需的包。

有一个特定的包,它不是代码的一部分。它是 mspec 的“控制台”应用程序,我用来从 VS 外部从命令行运行我的单元测试。 (It is located here): 当我使用 Nuget 安装它时,Nuget 不会将它添加到测试项目内的普通“packages.config”文件中。 它将它添加到存在于“.nuget”文件夹中的“packages.config”文件夹中。

但是当我的同事打开项目并构建时,他的 VS 并没有得到那个包。

如何更改,强制 VS 自动获取包?

【问题讨论】:

    标签: visual-studio visual-studio-2013 nuget nuget-package nuget-package-restore


    【解决方案1】:

    Nuget 不会将其添加到测试项目内的普通“packages.config”文件中。它将它添加到存在于“.nuget”文件夹中的“packages.config”文件夹中。

    那是因为您使用的是 NuGet 2.7 或更高版本,并且有一个仍然由旧包还原方法“MSBuild-integrated restore”配置的解决方案。这将导致构建失败,并显示您未同意恢复包的错误。 Visual Studio 将跳过自动包还原。

    如何更改,强制 VS 自动获取包?

    要解决此问题,您可以按照以下步骤操作:

    1. 关闭 Visual Studio 以避免文件潜在的文件锁定和冲突。

    2. 如果使用 TFS:从解决方案的 .nuget 文件夹中删除 nuget.exe 和 nuget.targets,并从解决方案工作区中删除这些文件。一种。按照Omitting packages with Team Foundation Version Control 中的说明,使用 disableSourceControlIntegration 设置保留 nuget.config。

    3. 如果不使用 TFS:从解决方案和解决方案工作区中删除 .nuget 文件夹。

    4. 编辑解决方案中的每个项目文件,删除 元素,并删除对 nuget.targets 文件的所有引用。更多详情可以参考Migrating to automatic restore

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多