无法在 .NET Framework 4.7.2 项目中安装 Nuget 包
Unable to install a Nuget Package in a .NET Framework 4.7.2 project
在我的 WPF
项目中,在 VS2017
中使用 .NET Framework 4.7.2
,我正在尝试安装 Interop.MSUtil.dll NuGet package as suggested here。我确实需要安装这个包,所以有人可以帮我安装它或提供解决方法。
错误:
Install-Package : Could not install package 'Interop.MSUtil.dll 1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.2',
but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package Interop.MSUtil.dll -Version 1.0.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
如果未声明安装 Nuget 包,则无法通过包管理器进行安装。
但是您可以安装 .dll 文件。首先将它安装在可以安装它的一些项目上。然后在项目的 packages 文件夹中找到一些你认为合适的 .dll 文件。最后将其添加为对项目的引用。它可能会或可能不会工作取决于包本身,但如果它有机会工作,这是唯一的方法。
Interop.MSUtil.dll 的 NuGet 包似乎与 .NET 4.7.2 Framework
不兼容。
但是,如果您的计算机上安装了 LogParser 并且您具有管理员访问权限,则可以在本地重新创建它。
找到您的 LogParser 副本。最有可能的地方在C:\Program Files (x86)\Log Parser 2.2
.
找到您的 Developer Command Prompt。在 Windows 10 中,只需在 Windows 搜索栏中输入 developer command prompt
。
运行 它作为管理员。通常这可以通过右键单击上下文菜单的开发人员命令提示项来完成。
cd
到安装LogParser的位置。
运行以下命令:
tlbimp LogParser.dll /out:Interop.MSUtil.dll
这应该构建一个新版本的 Interop.MSUtil.dll
,它将对您的框架版本友好。
现在您可以通过浏览到 LogParser 目录并选择新的 DLL 来手动将其添加为参考。
别忘了您可能需要将 Embed Interop Types
设置为 False
。
请注意,这很大程度上借鉴了 this previous answer。
在我的 WPF
项目中,在 VS2017
中使用 .NET Framework 4.7.2
,我正在尝试安装 Interop.MSUtil.dll NuGet package as suggested here。我确实需要安装这个包,所以有人可以帮我安装它或提供解决方法。
错误:
Install-Package : Could not install package 'Interop.MSUtil.dll 1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author. At line:1 char:1 + Install-Package Interop.MSUtil.dll -Version 1.0.0 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Install-Package], Exception + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
如果未声明安装 Nuget 包,则无法通过包管理器进行安装。
但是您可以安装 .dll 文件。首先将它安装在可以安装它的一些项目上。然后在项目的 packages 文件夹中找到一些你认为合适的 .dll 文件。最后将其添加为对项目的引用。它可能会或可能不会工作取决于包本身,但如果它有机会工作,这是唯一的方法。
Interop.MSUtil.dll 的 NuGet 包似乎与 .NET 4.7.2 Framework
不兼容。
但是,如果您的计算机上安装了 LogParser 并且您具有管理员访问权限,则可以在本地重新创建它。
找到您的 LogParser 副本。最有可能的地方在
C:\Program Files (x86)\Log Parser 2.2
.找到您的 Developer Command Prompt。在 Windows 10 中,只需在 Windows 搜索栏中输入
developer command prompt
。运行 它作为管理员。通常这可以通过右键单击上下文菜单的开发人员命令提示项来完成。
cd
到安装LogParser的位置。运行以下命令:
tlbimp LogParser.dll /out:Interop.MSUtil.dll
这应该构建一个新版本的 Interop.MSUtil.dll
,它将对您的框架版本友好。
现在您可以通过浏览到 LogParser 目录并选择新的 DLL 来手动将其添加为参考。
别忘了您可能需要将 Embed Interop Types
设置为 False
。
请注意,这很大程度上借鉴了 this previous answer。