Я пытаюсь указать некоторые дополнительные цели / задачи для файла 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 не найдет ни одной из своих папок / элементов, на которые есть ссылки.
Есть ли способ указать msbuild.exe использовать конкретный рабочий каталог? Я знаю, что эту проблему можно решить с помощью задачи выполнения, но это не кажется хорошим решением.