如何为System.Core创建外部别名?

5

我在项目中绝对需要一个针对System.Core的外部别名。不幸的是,在.Net 4.0项目中,您甚至无法添加对System.Core的引用,因为构建系统默认情况下已包含它。有没有人知道我如何迫使系统让我指定此库的外部别名?谢谢!


当针对较旧的框架版本进行目标定位时,它是否也包括在内? - Fede
1个回答

6
这个问题比较老,但我也遇到了同样的问题。据我所知,这是由于Visual Studio隐式地添加了对System.Core的引用导致的。
你可以通过编辑csproj msbuild文件并添加以下内容来覆盖此操作:
<PropertyGroup>
   <AdditionalExplicitAssemblyReferences/>
</PropertyGroup>

最后。

这将禁用任何AdditionalExplicitAssemblyReferences,我假设Visual Studio使用/p[roperty]开关将其传递给MSBuild。 当然,我们现在仍然需要添加System.Core引用,因为它不再被引用。通过添加来实现。

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

将引用添加到包含引用的ItemGroup中(或创建一个新的ItemGroup)。

现在,您可以使用以下方式引用System.Core类型:

ActualSystemCore::System....

如果没有与其他标识符冲突,使用普通句点也是合法的,例如 ActualSystemCore.System. ... - Jeppe Stig Nielsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接