我在VS项目中安装了一个NuGet包(我们在项目中开发).当我Update-Package
在nuget项目上运行时,我得到:
Update-Package : 'Project name' was not installed in any project. Update failed.
At line:1 char:15
+ Update-Package <<<< Project name
+ CategoryInfo : NotSpecified: (:) [Update-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UpdatePackageCommand
Run Code Online (Sandbox Code Playgroud)
我已经检查了package.config文件以确保定义了NuGet包,它是.有线索吗?
小智 49
我正在和Tomas一样的项目工作,我试图弄清楚这个问题何时发生以及为什么.当package文件夹中有一个或多个旧版本的软件包并尝试发出'update-package'命令时,似乎会发生这种情况.
在发出命令之前,我们的packages文件夹和配置如下所示:
包文件夹:
Common.WebApi.1.0.0.109
Common.WebApi.1.0.0.110
Run Code Online (Sandbox Code Playgroud)
包配置:
<packages>
<package id="Common.WebApi" version="1.0.0.110" />
<package id="System.Json" version="4.0.20126.16343" />
<package id="System.Net.Http" version="2.0.20126.16343" />
</packages>
Run Code Online (Sandbox Code Playgroud)
现在,当发出'update-package Common.WebApi'时,我们得到错误:
Update-Package:'OPF.Common.WebApi'没有安装在任何项目中.更新失败.
要修复它,我从packages文件夹中删除旧包'Common.WebApi.1.0.0.109'并重新运行该命令然后工作.
显而易见的问题是:为什么我的包文件夹中有一个旧包?这发生在我们身上,因为我们没有将自己的包提交给源代码控制.相反,我们使用此处描述的方法:http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
在这种情况下会出现"旧包问题":
1.开发人员A更新包并将package.config提交到源代码控制
2.开发人员B从源代码控制获取最新版本并接收更新的package.config
3.开发人员B构建项目和新包在他的packages文件夹中创建
4.Nuget不会从他的packages文件夹中删除开发人员B的旧包,因此Developer B现在在他的packages文件夹中同时包含旧包和新包,但是只有package.config到新版本.
对我来说,似乎Nuget不希望在packages文件夹中有多个版本的软件包,当你尝试更新一个包含多个版本的软件包[在packages文件夹中]时会变得很困惑,即使你只引用package.config中的一个包.
我最近遇到了一个非常类似的问题 - 结果是缺少packages/repositories.config(因为我们没有提交packages文件夹).我在VS中做了一些事情(可能在项目中添加了一个新的包),导致VS重新生成repositories.config文件,列出所有项目中的所有包.之后,更新工作正常.
归档时间: |
|
查看次数: |
12575 次 |
最近记录: |