我有两个程序集,通过条件编译(dev和real)创建。
这些组件的公共表面是100%完全相同的:两者都被命名;两者都使用相同的.snk进行签名,因此具有相同的PublicKeyToken;都有相同的文化和相同的版本。我不能改变这一点:使它们看起来完全相同。
然而,在我的机器上,真正的装配在GAC中。我有一个引用dev程序集的ASP.NET 3.5 WebForms应用程序。绝对必须这样做真正的程序会崩溃应用程序。
有没有办法强制特定的ASP.NET应用程序使用dev(使用/ bin),因为:
> GAC中有一个。
>两者都有相同的版本和PublicKeyToken。
>两个都是用相同的键强命名/签名的。
>我无法更改它们,不能更改版本,也不能删除密钥。
我注意到有人已经在#991293问了这个问题,但接受的答复是删除签名,这不是一个选择。
我运气不好吗?
解决方法
GAC始终是第一次尝试,当绑定装配时:
How the Runtime Locates Assemblies
所以不,你不能这样做。但是,如果你解释为什么你有这样奇怪的要求,可能会有不同的工作,你没有想到。