-12

WebGrease 的文档中,它谈到了使用 MSBuild 任务在构建时进行缩小。但是,当我将任务添加到我的项目文件时,它会失败。

这是我添加到项目中的行

  <UsingTask TaskName="WebGreaseTask" AssemblyName="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/>
  <Target AfterTargets="DotLessBuildTasksDotNet" Name="Minify">
    <WebGreaseTask />
  </Target>

但是当我尝试构建时,出现以下错误:

无法从程序集 WebGrease、Version=1.6.5135.21930、Culture=neutral、PublicKeyToken=31bf3856ad364e35、processorArchitecture=MSIL 加载“WebGreaseTask”任务。无法加载文件或程序集“WebGrease,版本=1.6.5135.21930,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。

据我所知,这是正确的程序集名称,因为我在项目中使用了相同的引用:

<Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
</Reference>

并且那里的所有代码都可以正常工作。

我想在编译时进行缩小,我相信这是构建任务的目的。我知道那里有大量的捆绑和缩小助手,但我想避免拉入过多的包。

编辑:

我尝试了各种 NuGet 命令,但这些命令不会UsingTask以任何方式影响节点,也不会导致构建工作。仍然对这个错误一无所知。

4

1 回答 1

2

查看源代码有一个类https://webgrease.codeplex.com/SourceControl/latest#WebGrease/WebGrease.Build/WebGreaseTask.cs看起来像你需要的东西,但是在反编译我的本地 WebGrease nuget 包之后,我根本看不到这个类或WebGrease.Build程序集。正如错误指出的那样,它找不到实现的类,ITask而这个类完全实现了它。

于 2014-11-19T19:12:55.177 回答