I have two assemblies that unfortunately define the same type in the same namespace. I'm trying to use a an extern alias
to work around the problem. In the Visual Studio IDE I have set the "Aliases" property of the reference to my alias. This is supposed to change the C# compiler command line to be something like this:
/reference:MyAlias=MyAssembly.dll
But it doesn't actually do that. The Visual Studio IDE seems to just ignore the Aliases property setting on the reference. So when I go and add the line extern alias MyAlias;
at the top of my C# code file I get the error that the alias was not specified in a /reference option to the compiler. I can't figure out what I am doing wrong. Any ideas?
I have the same problem and I was able to reproduce the issue.
It turns out reference aliases are ignored on projects containing xaml files which has an xmlns definition to the output assembly like xmlns:local='clr-namespace:TestProject'.
If you think this is your case as well, please vote up my bug report at Microsoft Connect.
EDIT: There is a suggested workaround in the link above which requires editing the project file manually. In order for this to work, I had to give full path of the assembly. Add the following instructions to the end of your project file:
<Target Name="solveAliasProblem" > <ItemGroup> <ReferencePath Remove="FullPath.dll"/> <ReferencePath Include="FullPath.dll"> <Aliases>ourAlias</Aliases> </ReferencePath> </ItemGroup> </Target> <PropertyGroup> <CoreCompileDependsOn>solveAliasProblem;$(PrepareResourcesDependsOn)</CoreCompileDependsOn> </PropertyGroup>
Brian, I had the same problem as you and I figured out how to fix it.
I would do the same thing as you:
And I would still get the error. After screwing around a bit, I figured out that the way to fix it is to set the referenced dll to a dll that is outside of the solution you are working in. Once I did that, the error message we were both seeing went away, and I was able to continue working on my project.
I hope that helps, happy coding!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With