Как создать внешний псевдоним для System.Core? - PullRequest
4 голосов
/ 15 апреля 2010

Мне абсолютно необходим внешний псевдоним для System.Core в моем проекте. К сожалению, в проекте .Net 4.0 вы даже не можете добавить ссылку на System.Core, потому что, очевидно, система сборки включает ее по умолчанию. Кто-нибудь имеет какие-либо идеи о том, как я могу заставить систему позволить мне указать внешний псевдоним для этой библиотеки? Спасибо!

1 Ответ

4 голосов
/ 18 июня 2011

Этот вопрос старый, но я столкнулся с той же проблемой. Насколько я понял, это связано с тем, что Visual Studio неявно добавляет ссылку на System.Core.

Вы можете изменить это, отредактировав файл csproj msbuild и добавив:

<PropertyGroup>
   <AdditionalExplicitAssemblyReferences/>
</PropertyGroup>

в конце.

Это отключает все AdditionalExplicitAssemblyReferences, которые, как я предполагаю, Visual Studio передала в MSBuild с помощью ключа / p [roperty]. Конечно, теперь нам все еще нужно добавить ссылку System.Core, так как на нее больше нет ссылок. Сделайте это, добавив

<Reference Include="System.Core">
   <RequiredTargetFramework>3.5</RequiredTargetFramework>
   <Aliases>global,ActualSystemCore</Aliases>
</Reference>

на ItemGroup, который содержит ссылки (или новые).

Теперь вы можете ссылаться на тип System.Core, используя

ActualSystemCore::System....
...