自从将我们的产品转换为.NET 4.0并使用更新的代码访问安全模型后,我们遇到了问题。基本上我们有组件库,可以或不可以安装到机器上的GAC。.NET 4.0与GAC的XBAP安全问题
如果有人制作了XBAP,并使用这些库的默认部分信任设置,并且最终用户安装了XBAP(在安装期间部署库),但如果我们的库尚未在GAC中,则工作正常。
如果他们在GAC中,XBAP将在运行时失败并出现安全性异常。我相信这个问题是由于这样的: http://msdn.microsoft.com/en-us/library/aa970906.aspx
当管理组件安装到全局程序集缓存(GAC),他们成为完全可信的,因为用户必须提供安装它们的明确许可。由于它们是完全可信的,因此只有完全可信的托管客户端应用程序才能使用它
看起来,自从他们从GAC中撤出后,即使他们与XBAP部署了完全相同的.dll,他们的安全性也会提高。但是在那种情况下,一切都打破了。
有没有什么办法可以解决这个问题,只需将AllowPartiallyTrustedCallersAttribute添加到所有库中?
或者有没有办法阻止XBAP在GAC中查找程序集并仅使用它部署的引用的确切副本?
在此先感谢您的帮助。