【问题标题】:Unable to install a Nuget Package in a .NET Framework 4.7.2 project无法在 .NET Framework 4.7.2 项目中安装 Nuget 包
【发布时间】:2019-04-04 00:01:44
【问题描述】:

在我的WPF 项目中使用VS2017 中的.NET Framework 4.7.2,我正在尝试按照here 的建议安装Interop.MSUtil.dll NuGet 包。我确实需要安装这个包,所以有人可以帮我安装它或提供解决方法。

错误

安装包:无法安装包“Interop.MSUtil.dll 1.0.0”。您正在尝试将此包安装到以“.NETFramework,Version=v4.7.2”为目标的项目中, 但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。 在行:1 字符:1 + 安装包 Interop.MSUtil.dll -版本 1.0.0 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [安装包],异常 + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

【问题讨论】:

  • 这个错误是不言自明的,nuget 不支持 4.7.2,现在通常你会去 nuget 站点,它会告诉你它支持什么,但是作者忽略了添加这个信息,看起来也没有项目站点。在这种情况下,我们无能为力,我会考虑联系他们或阅读文档

标签: c# wpf nuget-package


【解决方案1】:

Interop.MSUtil.dll 的 NuGet 包似乎与 .NET 4.7.2 Framework 不兼容。

但是,如果您的机器上安装了 LogParser 并且您具有管理员访问权限,则可以在本地重新创建它。

  1. 找到您的 LogParser 副本。最有可能的地方是C:\Program Files (x86)\Log Parser 2.2

  2. 找到您的Developer Command Prompt。在 Windows 10 中,只需在 Windows 搜索栏中输入 developer command prompt

  3. 以管理员身份运行它。通常,这可以通过右键单击上下文菜单的 Developer Command Prompt 项来完成。

  4. cd 到 LogParser 的安装位置。

  5. 运行以下命令:

    tlbimp LogParser.dll /out:Interop.MSUtil.dll

这应该构建一个新版本的Interop.MSUtil.dll,它将对您的框架版本友好。

现在您可以通过浏览到 LogParser 目录并选择新的 DLL 手动将其添加为引用。

别忘了您可能需要将Embed Interop Types 设置为False

请注意,这很大程度上来自this previous answer

【讨论】:

    【解决方案2】:

    如果未声明安装 Nuget 包,则无法通过包管理器进行安装。

    但是,您可以安装 .dll 文件。首先将它安装在可以安装它的某个项目上。然后在项目的 packages 文件夹中找到一些您认为合适的 .dll 文件。最后将其添加为项目的引用。它可能工作也可能不工作,具体取决于包本身,但这是它有机会工作的唯一方法。

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 2023-03-08
      • 2017-12-15
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多