Ajax Minifier: JS Duplication при объединении через задачу файла проекта / MSBuild

StackOverflow https://stackoverflow.com//questions/11700978

Вопрос

Я пытался получить заминирование и пакет, работающий на моем проекте MVC3, попробовал довольно много разных компрессоров и методов. Я наконец устроился на использовании Microsoft Ajax Minifier с помощью задачи MSBuild в моем файле проекта. Я только до сих пор до моей конфигурации, но я ударил немедленный камень; Когда я поминутую и комбинирую свои сценарии JS в один файл (используя определение задачи ниже), мой комбинированный файл всегда содержит две министерзированные копии каждого скрипта.

Я вырезал все другие сложные задачи MSBuild, которые я добавил, удалил все, кроме одного сценария JS, и это все еще происходит. Теги ниже - единственная часть моего файла проекта, который у меня вручную изменено:

<UsingTask TaskName="AjaxMin" AssemblyFile="$(MSBuildProjectDirectory)\..\_Build\AjaxMinTask.dll" />
<Target Name="AfterBuild">
    <ItemGroup>
        <JsFiles Include="**\res\js\libs\jquery.js" />
    </ItemGroup>
    <AjaxMin Switches="-global:jQuery,$" JsSourceFiles="@(JsFiles)" JsCombinedFileName="Combined.min.js" />
</Target>
.

Combined.min.js создается в корне моего веб-проекта (как и ожидалось), но он содержит две минимурированные копии файла jquery.js.

Я использую Microsoft Visual Studio Ultimate 2012 RC (версия 11.0.50706.0 QRelrc июль, 2012) и файл ссылок «ajaxmintask.dll» - последняя версия (4.59.4576.13505) из здесь .

Теперь вот самая странная вещь. Кроме того, я создал совершенно новые проекты MVC3 как в VS 2010, так и против 2012, и копировал и вставил вышеуказанные линии в их файлах проекта - только изменение пути к AJAXMIntask.dll (использовать то же самое, что и сломанный проект) и Путь к файлу jQuery (\ Scripts \ jQuery..js), и они работают отлично отлично .

К сожалению, я не могу вставить файл проекта, так как он слишком длинный для переполнения стека, поэтому я застрелл его с исходным файлом jQuery, который я пытаюсь миниинзировать / комбинировать, полученный в результате «заминированный» файл и Ajaxmin Assemblies Я использую:

[URL Redacted]

В качестве альтернативы, я очень открыт для любых других предложенных способов, которые позволят мне понимать / комбинировать, когда я строю в режиме выпуска в Visual Studio 2012, используя .NET 4.0 и MVC 3.

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

Решение

Ну, вот странная голова ... Мне удалось исправить это (после дней отдачиваться!), либо изменяя каталог «JS» на другое имя («JavaScript»):

<JsFiles Include="**\res\javascript\libs\jquery.js" />
.

или удаление "** \" с начала пути:

<JsFiles Include="res\js\libs\jquery.js" />
.

Я подозреваю, что это ошибка какой-то.

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