繁体   English   中英

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

[英]Unable to install a Nuget Package in a .NET Framework 4.7.2 project

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

错误

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

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

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

看来Interop.MSUtil.dll的NuGet程序包与.NET 4.7.2 Framework不兼容。

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

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

  2. 找到您的开发人员命令提示符 在Windows 10中,只需在Windows搜索栏中键入developer command prompt

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

  4. cd到LogParser的安装位置。

  5. 运行以下命令:

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

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

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

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

请注意,这在很大程度上取自先前的答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM