Visual Studio ASP.NET Web API Скомпилированные файлы, помещенные в другую папку с TFS
У меня есть проект веб-API asp.net, чей вывод должен быть упакован в проект установки с использованием wix.
Я хотел бы предварительно скомпилировать сайт. Проблема заключается в том, что процесс прекомпиляции генерирует имена файлов переменных (например, *.compiled файлы).
Я также хотел бы собрать настройки в сборке TFS.
Похоже, что мой единственный вариант - создать файл.wxs на этапе предварительной сборки проекта wix.
Исходные пути файлов.wxs используют $ (var._My_Web_Project_.TargetDir). Кажется, это переведено в каталог на основе источников.
Я использую парафин, чтобы сделать это уже, и он прекрасно работает при создании решения с Visual Studio.
При создании решения с помощью сборки TFS скомпилированные файлы копируются в папку Binaries, тогда как все остальные связанные файлы веб-сайта копируются в каталог на основе источников.
Ошибки сборки похожи на следующие:
Системе не удается найти файл 'd:\BuildAgents\___basedir___\Binaries\___web_project_dir\_PublishedWebSites\___site___\bin\textample.cshtml.c6fb271c.compiled'.
Файл действительно находится в каталоге Sources.
'D: \ BuildAgents \ ___ имя_базовой_папки ___\Sources\___web_project_dir\_PublishedWebSites\___ ___ сайта \ Bin\textsample.cshtml.c6fb271c.compiled'
Я думаю, что мне нужно как-то переопределить вывод aspnet_compiler или что-то вроде этого, но не могу понять, как это сделать.
Аргументы командной строки msbuild следующие:
/p:GenerateProjectSpecificOutputFolder=true /p:VisualStudioVersion=14.0 /p:DeployOnBuild=true /p:PublishProfile=local /p:CleanWebProjectOutputDir=False /verbosity:d
РЕДАКТИРОВАТЬ 1: я использую сборку XAML.
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ 2: С новой сборкой на основе задач, она работает как есть (не нужно использовать дополнительную задачу копирования файлов).
Компилятор aspnet_compiler выводит скомпилированные файлы в правильную папку:
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_compiler.exe -v / -p D: \ BuildAgents \ vNext \ _work \ 1 \ s \ Softs \ __ Solution __ \ __ Web_Project \ obj \ Release \ AspnetCompileMerge \ Source - c D: \ BuildAgents \ vNext \ _work \ 1 \ s \ Softs \ __ Solution __ \ __ Web_Project __ \ obj \ Release \ AspnetCompileMerge \ TempBuildDir
1 ответ
В новой системе сборки на основе задач легко скопировать файлы из исходной папки в целевую папку с помощью задачи " Копировать файлы".
Исходная папка: папка, содержащая файлы, которые вы хотите скопировать.
Содержание: Укажите миниатюрные фильтры шаблонов (по одному в каждой строке), которые вы хотите применить к списку копируемых файлов.
Целевая папка: папка, в которую будут копироваться файлы. В большинстве случаев вы указываете эту папку с помощью переменной.