2010-04-15 5 views
3

J'ai absolument besoin d'un alias externe pour System.Core dans mon projet. Malheureusement, dans un projet .Net 4.0, vous ne pouvez même pas ajouter une référence à System.Core car, apparemment, le système de construction l'inclut par défaut. Quelqu'un at-il une idée sur la façon dont je peux contraindre le système à me laisser spécifier un alias externe pour cette lib? Merci!Comment créer un alias externe pour System.Core?

+0

Comprend-il aussi pour cibler une version plus ancienne cadre? – Fede

Répondre

3

Cette question est ancienne mais j'ai rencontré le même problème. Pour autant que j'ai compris, cela est dû au fait que Visual Studio ajoute implicitement une référence à System.Core.

Vous pouvez remplacer en éditant votre fichier msbuild de csproj et en ajoutant:

<PropertyGroup> 
    <AdditionalExplicitAssemblyReferences/> 
</PropertyGroup> 

à la fin.

Ceci désactive tout AdditionalExplicitAssemblyReferences que je suppose que Visual Studio a transmis à MSBuild en utilisant le commutateur/p [roperty]. Bien sûr, nous devons maintenant ajouter la référence System.Core car elle n'est plus référencée. Faites-le en ajoutant

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

au ItemGroup qui contient des références (ou un nouveau).

Vous pouvez maintenant se référer à un type System.Core utilisant

ActualSystemCore::System.... 
+0

S'il n'y a pas de conflit avec d'autres identifiants, il est également légal d'utiliser une période ordinaire, comme dans ActualSystemCore.System. ... '. –

Questions connexes