无法获取带有 nuget 的 MSBuild 扩展包 MSBuild.ExtensionPack.tasks

MS Build Extension Pack with nuget fails to get MSBuild.ExtensionPack.tasks

我正在尝试安装 MS Build Extension Pack 以使用压缩任务。

我按照 the nuget web site 中的说明操作 --

即我在程序包管理器控制台中执行了 Install-Package MSBuild.Extension.Pack

它在我项目的包文件夹中创建了 MSBuild.Extension.Pack.1.8.0 文件夹。

我使用了官方帮助站点中给出的示例:msbuild extension pack web site并将其集成到我的csproj文件中。

但是我收到了这个错误:

error MSB4019: The imported project "C:\Program Files (x86)\Jenkins\jobs\ABBYY-OCR\workspace\packages\MSBuild.Extension.Pack.1.8.0\tools\net40\MSBuild.ExtensionPack.tasks" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

确实路径 C:\Program Files (x86)\Jenkins\jobs\ABBYY-OCR\workspace\packages\MSBuild.Extension.Pack.1.8.0\tools\net40 存在,但 MSBuild.ExtensionPack.tasks 不存在(这两者都是在构建服务器和我的机器上),尽管该文件夹包含其他文件(主要是 dll 文件)。

Nuget 似乎只下载了 Binaries 文件夹。

您需要在构建目录中导入文件MSBuild.Extension.Pack.targets。它与.tasks 文件相同。

这应该有效:

<Import Project="..\packages\MSBuild.Extension.Pack.1.8.0\build\net40\MSBuild.Extension.Pack.targets"/>

这个方法对我有用:

  1. Admin
  2. 打开Visual Studio
  3. 创建一个新项目
  4. 在这个新项目中从 nuget 导入这些依赖项:MSBuild.Extension.PackMSBuild.ExtensionPack.Task
  5. 导入这些依赖后,从packages\MSBuild.ExtensionPack.Task.1.0.3\tools文件夹中获取所有文件并复制到路径C:\Program Files (x86)\Microsoft Visual Studio19\Profession\MSBuild\ExtensionPack.0.如果此文件夹不存在,则必须创建。
  6. 之后,将整个packages\MSBuild.Extension.Pack.1.9.1\tools文件夹复制到C:\Program Files (x86)\Microsoft Visual Studio19\Profession\MSBuild路径
  7. 关闭并重新打开您在 Visual Studio.
  8. 中的项目