Visual studio 如何在安装NuGet软件包时更改packages.config位置

Visual studio 如何在安装NuGet软件包时更改packages.config位置,visual-studio,nuget,nuget-package,nuget-package-restore,Visual Studio,Nuget,Nuget Package,Nuget Package Restore,在跟踪。因此,在Visual Studio中,我删除了多项目解决方案中所有.csproj文件中的所有NuGet引用,并删除了以下文件: .nuget/nuget.exe .nuget/nuget.targets 并且只保留: .nuget/nuget.Config 然后在软件包管理器控制台中,尝试安装软件包: PM> Get-Project myProject | Install-Package somePackage -Version 1.0 结果是“成功安装”,但没有将引用添加到my

在跟踪。因此,在Visual Studio中,我删除了多项目解决方案中所有.csproj文件中的所有NuGet引用,并删除了以下文件:

.nuget/nuget.exe
.nuget/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的根目录中

注意使用:
Package Manager控制台主机版本2.8.50926.663

Visual Studio 2013 Pro

通过软件包管理器控制台安装软件包的语法如下:

语法:

Install Package[-Id][-IgnoreDependencies][-ProjectName][-Version][-Source][-IncludePrerelease][-Force][-FileConflictAction][-DependencyVersion][-WhatIf][/code>

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


PM>安装软件包somePackage-Project myProject


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

多亏了Matt Ward,我发现了问题。我错误地创建和安装了解决方案级别的软件包。这是因为在使用创建nuget包时,我没有将dll添加到lib文件夹

更多信息可在此处找到:



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

如果包的lib、content或build目录中不包含任何文件,则该包被视为解决方案级包。如果包有依赖项,则它们的lib、content或build目录中也不能有文件。


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

您安装的是什么nuget软件包?仅限解决方案的NuGet软件包将更新.NuGet/NuGet.Config文件,而不会向project packages.Config文件添加任何内容。我正在从本地源安装软件包。那么,如何将软件包安装到特定项目而不是解决方案中呢?大多数软件包都会安装到项目中。一些将安装到解决方案中,因为它们是仅用于解决方案的软件包。一个例子是OpenCover,它不会安装到项目中。您正在安装哪个NuGet软件包?没有影响更新哪些packages.config文件的NuGet设置。这取决于您正在安装的软件包-它是否是仅用于解决方案的软件包。谢谢Matt。我错误地创建和安装了解决方案级软件包。PM>安装软件包somePackage-Project myProject不工作。它仍在.nuget文件夹中安装。是否存在导致此问题的NuGet设置?