【问题标题】:How to change the packages.config location when installing a NuGet package安装 NuGet 包时如何更改 packages.config 位置
【发布时间】:2015-04-30 09:21:36
【问题描述】:

关注Migrating MSBuild-Integrated solutions to use Automatic Package Restore 之后。 . .所以在 Visual Studio 中,我从多项目解决方案中的所有 .csproj 文件中删除了所有 NuGet 引用,并且还删除了这些文件:

.nuget/NuGet.exe
.nu​​get/Nuget.targets

并且只保留:

.nuget/NuGet.Config

然后在包管理器控制台中,尝试安装一个包:

PM> Get-Project myProject | Install-Package somePackage -Version 1.0

导致“安装成功”,但未将引用添加到 myProject 的引用节点

packages.config 正在以下位置创建:

.nuget/packages.config

而不是:

myProject/packages.config

如何更改安装位置以便 NuGet 安装在 myProject 的根目录中?

注意使用:
包管理器控制台主机版本 2.8.50926.663
Visual Studio 2013 专业版

【问题讨论】:

  • 您要安装什么 NuGet 包?仅解决方案 NuGet 包将更新 .nuget/NuGet.Config 文件,而不向项目 packages.config 文件添加任何内容。
  • 我正在从本地提要安装一个包。那么如何将包安装到特定项目而不是解决方案中呢?
  • 大多数包都会安装到一个项目中。少数将安装到解决方案中,因为它们是仅解决方案包。一个例子是 OpenCover,它不会安装到项目中。您要安装哪个 NuGet 包?没有影响更新哪些 packages.config 文件的 NuGet 设置。它仅取决于您正在安装的软件包 - 它是否是仅解决方案的软件包。
  • 谢谢马特。我错误地创建和安装了解决方案级别的包。

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


【解决方案1】:

通过包管理控制台安装包的语法是这样的:

语法:

Install-Package [-Id] <string> [-IgnoreDependencies] [-ProjectName <string>] [-Version <string>] [-Source <string>] [-IncludePrerelease] [-Force] [-FileConflictAction] [-DependencyVersion <dependencyVersion>] [-WhatIf]

要在特定项目中安装包,您必须使用以下命令:

PM> Install-Package somePackage -Project myProject

如果您省略 -Project 参数,则选择默认项目(从下拉列表中)。

【讨论】:

  • PM> Install-Package somePackage -Project myProject 不起作用。它仍在 .nuget 文件夹中安装。是否有导致此问题的 NuGet 设置?
【解决方案2】:

感谢 Matt Ward,我找到了问题所在。我错误地创建和安装了解决方案级别的包。这是因为我在使用 NuGet Package Explorer 创建 nuget 包时没有将 dll 添加到 lib 文件夹中。

更多信息可以在这里找到:

Creating a solution-level package

解决方案级包是为包管理器控制台安装工具或附加命令的包,但不会向解决方案中的任何项目添加引用、内容或构建自定义项。例如,psake 包会安装 Powershell 脚本,您可以使用它来自动化构建过程。

如果一个包在其 lib、内容或构建目录中不包含任何文件,则该包被视为解决方案级别的包。如果包具有依赖项,则它们的 lib、内容或构建目录中也不得有文件。

安装解决方案级包时,会在 .nuget 目录中的 packages.config 文件中进行跟踪,而不是在特定项目中的 packages.config 文件中进行跟踪。

【讨论】:

    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    相关资源
    最近更新 更多