2016-04-09 2 views
1

Я использую ASP.NET 4.6 (не 5.0/Core), а потому, что некоторые из интересующих меня JS-библиотек доступны только через NPM, я экспериментирую с новые NPM и трубопроводы на основе gulp, которые MS, по-видимому, рекомендуют. Мне в основном удалось получить все работающее и настроенное так, как я хочу, с предостережением, что я не понял, как получить полученные мини-файлы, опубликованные на веб-сайте, без проверки их на источник и включения их явно в проект. (TypeScript умеет делать именно это, хотя я никогда не был предельно ясен о том, как это сделать.) И, конечно же, я всегда могу вернуться к проверке их источника и включить их в проект, но я сделал это раньше, в в первые дни TypeScript, и мне это действительно не понравилось, и похоже, что это не «правильный» способ сделать это.Включить uglified файлы на веб-сайте публиковать из Visual Studio

Любые предложения? Есть ли цель сборки или что-то в этом роде, которая могла бы, скажем, автоматически захватить все из заданной указанной папки (например, , которую, как я полагаю, использует ASP.NET Core), и публиковать их?

+0

Не проверять мини-файлы в исходном коде - вместо этого добавьте новый шаг компиляции в скрипт сборки. Вы должны скомпилировать свои классы, свои взгляды, минимизировать JS и CSS, скомпилировать их из TypeScript в JS, LESS в CSS в сценарии сборки. – mason

+0

@mason - Я согласен, вот что я хочу делать. Проблема заключается в том, что я не могу этого сделать и все еще использую встроенные средства публикации веб-сайтов VS/msbuild (которые являются необходимыми в вселенной MS). Или, по крайней мере, я не могу понять, как это сделать. –

ответ

1

Существует хорошее описание, как это сделать здесь: http://www.asp.net/mvc/overview/deployment/visual-studio-web-deployment/deploying-extra-files.

Короткая версия, что вы включили это в вашем файле .pubxml (ы):

<Target Name="CustomCollectFiles"> 
    <ItemGroup> 
     <_CustomFiles Include="..\ExtraFiles\**\*" /> 
     <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)"> 
     <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath> 
     </FilesForPackagingFromProject> 
    </ItemGroup> 
    </Target> 
    <PropertyGroup> 
    <CopyAllFilesToSingleFolderForPackageDependsOn> 
     CustomCollectFiles; 
     $(CopyAllFilesToSingleFolderForPackageDependsOn); 
    </CopyAllFilesToSingleFolderForPackageDependsOn> 

    <CopyAllFilesToSingleFolderForMsdeployDependsOn> 
     CustomCollectFiles; 
     $(CopyAllFilesToSingleFolderForPackageDependsOn); 
    </CopyAllFilesToSingleFolderForMsdeployDependsOn> 
    </PropertyGroup> 

Просто необходимо, чтобы найти правильные ключевые слова Google («MSBuild публиковать сборки цели включают в себя другие файлы», если вы заинтересованы), чтобы это сделать.