在客户计算机上部署应用程序时,我最近遇到了一个问题。我让他把一些(更新的)程序集放到程序文件夹中。因为他通过Dropbox网站下载它们,操作系统将它们标记为已阻止,并且无法通过反射加载程序集。在这篇文章的帮助下,我花了一些时间来弄清楚这个问题:
.net local assembly load failed with CAS policy
我很想知道使用Assembly.LoadUnsafeFrom(...)
而不是Assembly.LoadFrom(...)
加载程序集是否是一个好主意,以避免将来出现这类问题。 (我知道通过互联网发送程序集并让客户将它们放入程序文件文件夹这不是软件部署的黄金路径这一事实,但实际上你有时需要即兴发挥......)。
正如我所读到的,该方法要求调用应用程序在完全信任的环境中运行,这通常是我正在讨论的应用程序的情况。
我的问题是:除此之外 - 要求完全信任 - 这种方法有任何副作用。是否存在由于缺乏Windows用户帐户权限等而导致应用程序抛出异常的情况?