安装 NuGet 包时如何更改 packages.config 位置
How to change the packages.config location when installing a NuGet package
关注Migrating MSBuild-Integrated solutions to use Automatic Package Restore之后。 . .所以在 Visual Studio 中,我从 multi-project 解决方案中的所有 .csproj 文件中删除了所有 NuGet 引用,并且我还删除了文件:
.nuget/NuGet.exe
.nuget/Nuget.目标
仅保留:
.nuget/NuGet.配置
然后在程序包管理器控制台中,尝试安装一个程序包:
PM> Get-Project myProject | Install-Package somePackage -Version 1.0
结果为 "successful installation,",但未将引用添加到 myProject
的引用节点
并且 packages.config 正在以下位置创建:
.nuget/packages.config
不在:
myProject/packages.config
如何更改安装位置,以便 NuGet 安装在 myProject 的根目录中?
注意使用:
程序包管理器控制台主机版本 2.8.50926.663
Visual Studio 2013 专业版
通过包管理器控制台安装包的语法是这样的:
语法:
Install-Package [-Id] <string> [-IgnoreDependencies] [-ProjectName <string>] [-Version <string>] [-Source <string>] [-IncludePrerelease] [-Force] [-FileConflictAction] [-DependencyVersion <dependencyVersion>] [-WhatIf]
要在特定项目中安装包,您必须使用以下命令:
PM> Install-Package somePackage -Project myProject
如果省略 -Project
参数,则会选择默认项目(从下拉列表中)。
感谢 Matt Ward,我找到了问题所在。我错误地创建和安装了解决方案级包。这是因为在使用 NuGet Package Explorer.
创建 nuget 包时,我没有将 dll 添加到 lib 文件夹
可以在此处找到更多信息:
Creating a solution-level package
解决方案级包是为包管理器控制台安装工具或附加命令的包,但不向解决方案中的任何项目添加引用、内容或构建自定义。例如,psake 包安装了 Powershell 脚本,您可以使用它来自动化构建过程。
如果一个包在其 lib、content 或 build 目录中不包含任何文件,则该包被视为解决方案级包。如果包有依赖项,它们的 lib、content 或 build 目录中也不能有文件。
安装解决方案级包时,它会在 .nuget 目录中的 packages.config 文件中进行跟踪,而不是在特定项目中的 packages.config 文件中进行跟踪。
关注Migrating MSBuild-Integrated solutions to use Automatic Package Restore之后。 . .所以在 Visual Studio 中,我从 multi-project 解决方案中的所有 .csproj 文件中删除了所有 NuGet 引用,并且我还删除了文件:
.nuget/NuGet.exe
.nuget/Nuget.目标
仅保留:
.nuget/NuGet.配置
然后在程序包管理器控制台中,尝试安装一个程序包:
PM> Get-Project myProject | Install-Package somePackage -Version 1.0
结果为 "successful installation,",但未将引用添加到 myProject
的引用节点并且 packages.config 正在以下位置创建:
.nuget/packages.config
不在:
myProject/packages.config
如何更改安装位置,以便 NuGet 安装在 myProject 的根目录中?
注意使用:
程序包管理器控制台主机版本 2.8.50926.663
Visual Studio 2013 专业版
通过包管理器控制台安装包的语法是这样的:
语法:
Install-Package [-Id] <string> [-IgnoreDependencies] [-ProjectName <string>] [-Version <string>] [-Source <string>] [-IncludePrerelease] [-Force] [-FileConflictAction] [-DependencyVersion <dependencyVersion>] [-WhatIf]
要在特定项目中安装包,您必须使用以下命令:
PM> Install-Package somePackage -Project myProject
如果省略 -Project
参数,则会选择默认项目(从下拉列表中)。
感谢 Matt Ward,我找到了问题所在。我错误地创建和安装了解决方案级包。这是因为在使用 NuGet Package Explorer.
创建 nuget 包时,我没有将 dll 添加到 lib 文件夹可以在此处找到更多信息:
Creating a solution-level package
解决方案级包是为包管理器控制台安装工具或附加命令的包,但不向解决方案中的任何项目添加引用、内容或构建自定义。例如,psake 包安装了 Powershell 脚本,您可以使用它来自动化构建过程。
如果一个包在其 lib、content 或 build 目录中不包含任何文件,则该包被视为解决方案级包。如果包有依赖项,它们的 lib、content 或 build 目录中也不能有文件。
安装解决方案级包时,它会在 .nuget 目录中的 packages.config 文件中进行跟踪,而不是在特定项目中的 packages.config 文件中进行跟踪。