Группировать несколько ссылок в один элемент разметки - PullRequest
1 голос
/ 29 августа 2011

мы используем стороннюю библиотеку, имеющую некоторые зависимости, на которые нужно ссылаться из проектов.

Таким образом, каждый файл "csproj" будет иметь набор элементов " Reference ", которые всегда будут идентичны.

Есть ли способ сгруппировать этот набор элементов в один стандартный элемент, который можно использовать во всех файлах csproj?

Например:

<ABunchOfReferences>
    <Reference Include="Reference1" />
    <Reference Include="Reference2" />
    <Reference Include="Reference3" />
</ABunchOfReferences>
...
<ItemGroup>
    <ABunchOfReferences/>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    ...
</ItemGroup>

"ABunchOfReferences" будет своего рода макросом, глобально определенным и включаемым всеми csprojs, которые при использовании будут расширены как 3 " Reference " элемента.

Заранее спасибо за любую идею.

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Вы можете настроить свои ссылки в файле импорта, а затем выборочно включить их в основной файл,

In References.props

<ItemGroup>
   <BunchOfReferences Include="Reference1" /> 
   <BunchOfReferences Include="Reference2" /> 
   <BunchOfReferences Include="Reference3" /> 
</ItemGroup>
<ItemGroup>
   <MoreReferences Include="MoreReference1" /> 
   <MoreReferences Include="MoreReference2" /> 
   <MoreReferences Include="MoreReference3" /> 
</ItemGroup>

... затем в отдельном файле проекта

<Import Project="PathTo\References.props" />

<ItemGroup>
   <Reference Include="System" />
   <References Include="@(BunchOfReferences)" />
   <References Include="@(MoreReferences)" />
</ItemGroup>
1 голос
/ 30 августа 2011

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

<ItemGroup>
    <Import Project="PathToFile\yourBunchofReferenceFile" />
    <Reference Include="System" />
 ...
</ItemGroup>
...