我们在Web应用程序的DLL中公开了一个方法,将其更改为:
internal void Foo() { ... }
为:
public void Foo() { ... }
所以另一个程序集可以调用它,然后部署Web应用程序。它在本地运行正常,但服务器正在获取访问权限问题,就像它们仍在使用internal
版本一样。它似乎非常持久(即我们清理,重新部署等)。
.NET程序集缓存或某些类似的机制是否有可能对访问修饰符的更改不敏感并且无法正常无效,因此我们将隐藏版本的DLL隐藏在某处?