【发布时间】:2019-07-23 11:09:10
【问题描述】:
我目前正在开发一个需要使用自定义 dll 进行身份验证的项目。 这个 dll 在生产和测试环境的 GAC 中注册(他们告诉我)。 公司政策规定您“不应在应用程序的 web.config 文件中包含 dll 引用”,也就是说,您不应该有类似的内容:
等等
在您的 web.config 中,至少对于我正在谈论的这个 dll。他们说,由于它已在 GAC 中注册,因此应用程序无论如何都会加载它。 问题是,如果您不在您的 web .config 中添加程序集引用,则无论他们说什么,应用程序都不会找到它。
既然我确定 dll 确实在 GAC 中注册,我的问题是:
不管你是否在web.config中添加引用,应用程序是否应该能够加载dll? 我确信,添加对项目的引用, dll 的 GAC 位置将存储在应用程序的程序集中,这样应用程序本身就能够在 GAC 中找到程序集,无论工作系统是什么,给定该 dll 实际上已在工作系统的 GAC 中注册。 但我一定是错的。 它的真正运作方式是什么?
谢谢
狮子座
我尝试从 web.config 中删除该条目:每次在我的测试环境中引用 dll 中的方法时,都会出现运行时错误;同样的事情发生在生产环境中;
【问题讨论】:
标签: c# web-config .net-assembly gac