Вопрос

В в документации для 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>

Но когда я пытаюсь создать, я получаю следующую ошибку:

Не удалось загрузить задачу "WebGreaseTask" из сборки WebGrease, версия=1.6.5135.21930, язык интерфейса=нейтральный, PublicKeyToken=31bf3856ad364e35, архитектура процессора=MSIL.Не удалось загрузить файл или сборку 'WebGrease, версия=1.6.5135.21930, Culture=нейтральный, PublicKeyToken=31bf3856ad364e35' или одну из ее зависимостей.Системе не удается найти указанный файл.Убедитесь, что объявление указано правильно, что сборка и все ее зависимости доступны и что задача содержит общедоступный класс , реализующий Microsoft.Build.Рамки.Это задача.

Насколько я знаю, это правильное название сборки, поскольку я использую ту же ссылку в своем проекте:

<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 узел каким-либо образом, и также не заставляйте сборку работать.Все еще в недоумении из-за этой ошибки.

Это было полезно?

Решение

Если посмотреть в исходном коде, то там есть класс https://webgrease.codeplex.com/SourceControl/latest#WebGrease/WebGrease .Сборка/WebGreaseTask.cs который выглядит как то, что вам нужно, но после декомпиляции моего локального пакета WebGrease nuget я не вижу этого класса или WebGrease.Build сборки там вообще нет.Как указывает ошибка, он не может найти класс, который реализует ITask и этот класс в точности реализует это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top