我正在尝试使用Nuget将此软件包安装到我的解决方案中。为此,我在我的包管理器控制台中键入“Install-Package Microsoft.Web.Infrastructure -verbose”。执行此操作后,程序包无法安装,我收到以下信息:
获取https://api.nuget.org/v3/registration3-gz-semver2/microsoft.web.infrastructure/index.json 好的https://api.nuget.org/v3/registration3-gz-semver2/microsoft.web.infrastructure/index.json 33毫秒
尝试针对项目“My_Project”收集程序包“Microsoft.Web.Infrastructure.1.0.0”的依赖关系信息,目标是“.NETFramework,Version = v4.6”
从缓存中收集的源nuget.org打包Microsoft.Web.Infrastructure。
收集的结果总数:1
收集依赖性信息需要14.22毫秒
每个源收集依赖项所花费的时间摘要:
尝试使用DependencyBehavior'Lowest'来解析包'Microsoft.Web.Infrastructure.1.0.0'的依赖关系
解析依赖关系信息需要0毫秒
解决安装软件包'Microsoft.Web.Infrastructure.1.0.0'
的操作解决了安装软件包'Microsoft.Web.Infrastructure.1.0.0'
的操作从'nuget.org'中检索包'Microsoft.Web.Infrastructure 1.0.0'。
将包'Microsoft.Web.Infrastructure.1.0.0'添加到以'net46'为目标的项目'My_Project'。
将包'Microsoft.Web.Infrastructure.1.0.0'添加到以'net46'为目标的项目'My_Project'。
将软件包'Microsoft.Web.Infrastructure.1.0.0'添加到文件夹'C:\ Path \ to \ my \ project \ packages'
安装失败。回滚......
项目'My_Project'中不存在包'Microsoft.Web.Infrastructure.1.0.0'
将包'Microsoft.Web.Infrastructure.1.0.0'从文件夹'C:\ Path \'删除到\ my \ project \ packages'
Install-Package:TF400024:C:\ Path \ to \ my \ project \ packages \ Microsoft.Web.Infrastructure.1.0.0.0 \ Microsoft.Web.Infrastructure.1.0.0.0.nupkg的更改无法撤消,因为一个文件已存在于 C:\路径\为\我的\项目\包\ Microsoft.Web.Infrastructure.1.0.0.0 \ Microsoft.Web.Infrastructure.1.0.0.0.nupkg。必须从磁盘中删除该文件才能使撤消成功。
在行:1个字符:1 + Install-Package Microsoft.Web.Infrastructure -verbose + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ + CategoryInfo:NotSpecified:(:) [Install-Package],Exception + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
经过的时间:00:00:00.4203958 无法完全卸载一个或多个软件包:'C:\ Path \ to \ my \ project \ packages \ Microsoft.Web.Infrastructure.1.0.0.0'。
重新启动Visual Studio以完成卸载。
我尝试删除“packages”文件夹并重新启动Visual Studio,但无济于事。我可以安装其他软件包,比如NLog,就好了。为什么我不能安装这个软件包?
答案 0 :(得分:1)
问题是我在我的TFS源代码控制中添加了一个损坏的“packages / Microsoft.Web.Infrastructure.1.0.0.0”文件夹。此文件夹不包含“lib”目录,这是加载引用所必需的。相反,它只包含“Microsoft.Web.Infrastructure.1.0.0.0.nupkg”存档。为了解决这个问题,我使用7-zip从存档中提取了“lib”目录。执行此操作后,我的“packages / Microsoft.Web.Infrastructure.1.0.0.0”目录具有以下结构:
LIB
net40
Microsoft.Web.Infrastructure.1.0.0.0.nupkg
最后,我在Visual Studio中打开了解决方案,并扩展了项目的“参考”选项卡。我注意到“Microsoft.Web.Infrastructure”已经添加到项目中,但上面有一个黄色的“错误”符号。为了解决这个问题,我只需右键单击它并选择“属性”。
完成这两个步骤后,我能够成功构建我的项目。
答案 1 :(得分:0)
您的packages.config文件是否在源代码管理中?对于此question,问题是文件已从源中删除但仍然存在(未删除)。我会确保你的packages.config在源代码管理中签入/平方并进行任何更改。