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 ответ

Решение

В новой системе сборки на основе задач легко скопировать файлы из исходной папки в целевую папку с помощью задачи " Копировать файлы".

введите описание изображения здесь

Исходная папка: папка, содержащая файлы, которые вы хотите скопировать.

Содержание: Укажите миниатюрные фильтры шаблонов (по одному в каждой строке), которые вы хотите применить к списку копируемых файлов.

Целевая папка: папка, в которую будут копироваться файлы. В большинстве случаев вы указываете эту папку с помощью переменной.

Другие вопросы по тегам