Я пытаюсь указать некоторые дополнительные цели / задачи для файла msbuild, расширив существующий файл msbuild (файл .csproj веб-приложения). Идея состоит в том, чтобы поместить конкретные задачи конфигурации в этот «расширенный файл сборки ms» и использовать этот файл на нашем сервере сборки (TeamCity). Сначала я попытался решить эту проблему, добавив папку «msbuildscripts» в мой веб-проект и поместив туда файл расширенной сборки ms:
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<Import Project="../My.Web.csproj" />
...more stuff...
</Project>
, а затем создайте этот файл, используя что-то вроде:
c:\myweb\msbuild.exe msbuildscripts/extended.msbuild.file.xml
Теперь, это не сработает, потому что при импорте исходного файла сборки ms этот файл csproj будет «выполнен» в «неправильной» папке (msbuildscripts), а файл csproj-build-file не найдет ни одну из указанных в нем папок / товар.
Есть ли способ указать msbuild.exe использовать определенный рабочий каталог? Я знаю, что решить эту проблему можно, используя задачу execute, но это не похоже на хорошее решение.