У меня есть файл проекта, который должен построить другое решение. Я попытался с помощью задачи MSBuild для этого, как это:Задача MSBuild не создает файл решения
<MSBuild Projects="MySolution.sln" Properties="Configuration=$(Configuration)"/>
Я пробовал много вариантов, как поставки жёстко прописанные конфигурации, целевой Rebuild и так далее. Building сообщает об ошибке при передаче неправильного имени решения, несуществующей конфигурации или цели и т. Д., Поэтому он определенно загружает решение и файлы проекта. Он выходит довольно быстро и не производит выход. Согласно документации и примерам, это должно работать. Я также пробовал передать ItemGroup для проекта, включая специфические для проекта свойства, как это предлагается в примерах, или в MSBuild - How to build a .NET solution file (in an XML task script) from pre-written command line commands, но это тоже не сработает. Он работает без ошибок, но без вывода.
При передаче списка файлов проекта (или одного файла проекта) он строит правильно, но проблема в том, что зависимости между проектами не разрешены должным образом. В конце концов, я должен предоставить все файлы проекта в решении и добавить их в список, чего я хочу избежать.
Итак, почему здание решения не работает, хотя оно и должно быть? Что здесь не так?
Хорошо, это была проблема. Передача «Любой процессор» будет работать правильно. Однако передача $ (Platform) не работает, хотя я в любой сборке CPU. Пропускаемое значение - «AnyCPU» (без пробела). Любая идея, почему? – OregonGhost
Это ошибка http://stackoverflow.com/a/4209924/568475 –
Да, и я обнаружил еще одну ошибку: по какой-то причине при построении такого типа MSBuild не поддерживает зависимостей проекта. Официальное заявление состоит в том, что он делает это, когда в решении не найдено ни Конфигурация, либо Платформа, но в этом случае оба варианта. И если указать «неправильную» платформу, она ничего не построит. Я пытаюсь сделать это с помощью Exec вместо MSBuild, но это приводит к следующей проблеме (поиск msbuild.exe) ... – OregonGhost