gpt4 book ai didi

wpf - GAC 的 .NET 4.0 XBAP 安全问题

转载 作者:行者123 更新时间:2023-12-04 23:57:01 35 4
gpt4 key购买 nike

自从将我们的产品转换为 .NET 4.0 并使用更新的代码访问安全模型后,我们遇到了问题。基本上我们的组件库可能会或可能不会安装到机器上的 GAC。

如果有人使用这些库创建了具有默认部分信任设置的 XBAP,并且最终用户安装了 XBAP(在安装过程中部署了这些库),如果我们的库不在 GAC 中,它也能正常工作。

如果他们在 GAC 中,XBAP 将在运行时失败并出现安全异常。我相信问题是由于这个: http://msdn.microsoft.com/en-us/library/aa970906.aspx

When managed assemblies are installed into the global assembly cache (GAC), they become fully trusted because the user must provide explicit permission to install them. Because they are fully trusted, only fully trusted managed client applications can use them.

似乎自从他们从 GAC 中退出后,他们的安全性得到了更高的提升,即使它们与 XBAP 部署的 .dll 完全相同。但在那种情况下,一切都会崩溃。

除了向所有库添加 AllowPartiallyTrustedCallersAttribute 之外,是否有任何方法可以解决此问题?

或者是否有办法阻止 XBAP 在 GAC 中查找程序集并仅使用与它一起部署的引用的精确副本?

在此先感谢您的帮助。

最佳答案

在 visual studio 的解决方案资源管理器中,单击引用并尝试将属性“SpecificVersion”设置为 true。它应该只在引用时查看指定的路径和指定的版本,而不是去寻找 GAC 中的最新版本。

参见 .net reference specificversion true or false?

请注意,如果您添加引用的新版本,则必须删除当前引用,它不会自动替换它。

关于wpf - GAC 的 .NET 4.0 XBAP 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799650/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com