Tengo un paquete NuGet que contiene una serie de ensamblajes que, lamentablemente, definen el mismo tipo varias veces. Eliminar los duplicados actualmente no es una opción, ya que son un producto de la generación. Esto produce un error de compilación CS0433 como el siguiente:
error CS0433: The type 'AmbiguousType' exists in both 'Assembly1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' and 'Assembly2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'Traté de abordarlo agregando referencias al alias de cada uno de los ensamblajes de esta manera:
<ItemGroup> <PackageReference Include="MyPackage" Version="1.0.0"/> </ItemGroup> <ItemGroup> <Reference Include="Assembly1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"> <HintPath>..\packages\netstandard2.0\assembly.dll</HintPath> <Aliases>Assembly1</Aliases> </Reference> <Reference Include="Assembly2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"> <HintPath>..\packages\netstandard2.0\assembly.dll</HintPath> <Aliases>Assembly2</Aliases> </Reference> </ItemGroup>luego, en el código C#, agregué lo siguiente para definir el tipo común:
extern alias Assembly1; using AmbiguousType = Assembly1::AssemblyNamespace.AmbiguousType; pero ahora obtengo un CS0430 al que no se ha hecho referencia al alias Assembly1 .
¿Es posible resolver esto o es algo que simplemente no se puede hacer?