无法在.NET Framework 4.7.2项目中安装Nuget软件包

时间:2019-04-04 00:01:44

标签: c# wpf nuget-package

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

错误

  
    

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

  

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

似乎Interop.MSUtil.dll的NuGet软件包与playersetting -> capabilities不兼容。

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

  1. 找到您的LogParser副本。最可能的位置是.NET 4.7.2 Framework

  2. 找到您的Developer Command Prompt。在Windows 10中,只需在Windows搜索栏中输入C:\Program Files (x86)\Log Parser 2.2

  3. 以管理员身份运行。通常,可以通过右键单击上下文菜单的“开发人员命令提示符”项来完成此操作。

  4. developer command prompt到LogParser的安装位置。

  5. 运行以下命令:

    cd

这应该构建tlbimp LogParser.dll /out:Interop.MSUtil.dll的新版本,它将对您的框架版本友好。

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

请记住,您可能需要将Interop.MSUtil.dll设置为Embed Interop Types

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