【问题标题】:Why can't I install Microsoft.Web.Infrastructure?为什么我无法安装 Microsoft.Web.Infrastructure?
【发布时间】:2017-09-07 14:05:49
【问题描述】:

我正在尝试使用 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 33ms

尝试针对项目“My_Project”收集包“Microsoft.Web.Infrastructure.1.0.0”的依赖关系信息,目标是“.NETFramework,Version=v4.6”

从缓存中收集的源 nuget.org 打包 Microsoft.Web.Infrastructure。

收集的结果总数:1

收集依赖信息耗时 14.22 毫秒

收集每个源的依赖项所花费的时间摘要:

尝试使用 DependencyBehavior“最低”解决包“Microsoft.Web.Infrastructure.1.0.0”的依赖关系

解析依赖信息耗时 0 ms

解决安装包“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”

从文件夹“C:\Path\to\my\project\packages”中删除包“Microsoft.Web.Infrastructure.1.0.0”

安装包:TF400024:C:\Path\to\my\project\packages\Microsoft.Web.Infrastructure.1.0.0.0\Microsoft.Web.Infrastructure.1.0.0.0.nupkg 上的更改无法撤消,因为文件已存在于 C:\Path\to\my\project\packages\Microsoft.Web.Infrastructure.1.0.0.0\Microsoft.Web.Infrastructure.1.0.0.0.nupkg。必须从磁盘中删除文件才能成功撤消。

在 line:1 char:1 + 安装包 Microsoft.Web.Infrastructure -verbose + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ + CategoryInfo : NotSpecified: (:) [安装包],异常 + 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,就好了。为什么我不能安装这个包?

【问题讨论】:

    标签: nuget visual-studio-2017


    【解决方案1】:

    问题是我已将损坏的“packages/Microsoft.Web.Infrastructure.1.0.0.0”文件夹添加到我的 TFS 源代码控制中。此文件夹不包含加载引用所必需的“lib”目录。相反,它只包含“Microsoft.Web.Infrastructure.1.0.0.0.nupkg”存档。为了解决这个问题,我使用7-zip 从存档中提取了“lib”目录。完成此操作后,我的“packages/Microsoft.Web.Infrastructure.1.0.0.0”目录具有以下结构:

      • net40

        • Microsoft.Web.Infrastructure.dll
    • Microsoft.Web.Infrastructure.1.0.0.0.nupkg

    最后,我在 Visual Studio 中打开了解决方案,并展开了项目的“参考”选项卡。我注意到“Microsoft.Web.Infrastructure”已经添加到项目中,但上面有一个黄色的“错误”符号。为了解决这个问题,我只需右键单击它并选择“属性”。

    按照这两个步骤,我能够成功构建我的项目。

    【讨论】:

      【解决方案2】:

      您的 packages.config 文件是否在源代码管理中?在这个question 的情况下,问题是文件已从源中删除但仍然存在(未删除)。我会确保您的 packages.config 已在源代码控制中签入/平方,并进行任何更改。

      【讨论】:

        猜你喜欢
        • 2018-07-12
        • 1970-01-01
        • 2016-08-17
        • 2021-09-08
        • 2017-07-13
        • 2021-06-21
        • 1970-01-01
        • 1970-01-01
        • 2022-12-01
        相关资源
        最近更新 更多