Как сделать так, чтобы MSBuild ссылался на нужные сборки? - PullRequest
0 голосов
/ 23 июня 2009

Я пытаюсь заставить MSBuild работать над проектом, который был только что перемещен в TFS2008. Решение было огромным, поэтому оно было разделено на 5 командных проектов, A-E. У каждого есть только одно решение, но несколько проектов. А зависит от того, строится ли B-E первым. Нам нужно создавать как отладочную, так и выпускную версии всего, что хорошо, но когда мы компилируем A в режиме выпуска, он использует отладочные версии B-E. Посмотрев в proj-файлах проектов в A, их ссылки на сборки были установлены, чтобы указывать на отладочные версии библиотек в B-E. Есть ли способ использовать файл MSBuild proj, чтобы сделать выпуск A ссылкой на версии выпуска проектов в B-E? Пока я пробовал добавить
<PropertyGroup><br> <AssemblySearchPaths><br> $(Configuration)<br> $(AssemblySearchPaths)<br> </AssemblySearchPaths><br> </PropertyGroup><br> в файл MSBuild proj, но это не имеет никакого значения. Есть предложения?

Ответы [ 2 ]

3 голосов
/ 23 июня 2009

(Это альтернативный ответ, если вы хотите сделать все это в ваших файлах .prof)

Вы можете установить ссылочный путь в каждой группе свойств для различных конфигураций.

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <ReferencePath>c:\blah\blah\Path\To\Debug\</ReferencePath>
</PropertyGroup></p>

<p><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <ReferencePath>c:\blah\blah\Path\To\Release\</ReferencePath>
</PropertyGroup>
У вас уже должны быть условные группы свойств в файле .proj, поэтому просто добавьте к ним бит пути ссылки. Вы можете иметь несколько путей, разделяя их точкой с запятой.
2 голосов
/ 23 июня 2009

Я думаю, вы можете сделать это:

<PropertyGroup>
    <SomeReferencePath>..\Your\Other\Build\Path\</LibraryReference>
</PropertyGroup>
Затем включите это в цель:
Properties="ReferencePath=$(SomeReferencePath)"
Это даст указание компилятору искать этот ссылочный путь для разрешения сборок, на которые он ссылается.

Я думаю =:)

[Редактировать: все это будет в рамках нового скрипта msbuild, который собирает все ваши подпроекты.]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...