问题描述
我在我的项目中使用 extern alias
,所以我需要将引用别名从 global
更改为其他名称.问题是,如果我使用 Nuget 添加引用,则每次更新包时,别名都会恢复为 global
.有没有办法阻止这种情况发生?
I use extern alias
in my project so I need to change the reference alias from global
to something else. The problem is that if I use Nuget to add the reference, every time I update the package the alias reverts to global
. Is there a way to stop this from happening?
推荐答案
这是 nuget 引用的已知问题;如果完全不支持程序集别名(尚未):https://github.com/NuGet/Home/issues/4989
This is know issue with nuget references; in case of assembly alias is not supported at all (yet): https://github.com/NuGet/Home/issues/4989
幸运的是存在解决方法;您可以向您的 csproj 添加特殊目标,以便即时分配别名:
Fortunately workaround exists; you can add special target to your csproj that will assign aliases on-the-fly:
<Target Name="ChangeAliasesOfNugetRefs" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences">
<ItemGroup>
<ReferencePath Condition="'%(FileName)' == 'CoreCompat.System.Drawing'">
<Aliases>CoreCompatSystemDrawing</Aliases>
</ReferencePath>
</ItemGroup>
</Target>
这篇关于如何在 nuget 中使用外部别名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!