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