假设我有两个ASP.MVC应用程序。
ProjectXXX ProjectYYY -这是ProjectXXX的叉子。
两个项目都有相同的结构(项目/程序集名称),但在某些功能上不同(将部署到其他国家)。
出于测试目的,我们在一台服务器上部署了这两个应用程序。
问题
当我从ProjectXXX的程序集中删除一些功能并运行ProjectYYY时,它会抛出TypeLoadException :无法从程序集'Project.Namespace‘加载类型'Project.Namespace.IMyInterface’
看起来ProjectYYY使用了来自ProjectXXX的DLL (IIS (asp.net?)加载一次dll,因为它“认为”程序集是相同的?)
如何强制IIS不缓存这些程序集并为两个应用程序加载合适的程序集?
编辑/解决方案:
我发现,我的应用程序使用MEF组合。到目前为止,我已经改变了它搜索程序集的方式,问题看起来已经消失了:)
发布于 2017-12-10 22:34:30
如果您为每个IIS站点创建单独的IIS站点,那么它就应该能做到这一点,因为对于每个站点,运行的都是单独的w3wp进程。尽管如此,您不能为两个站点共享相同的ip和端口,因此如果需要,您将不得不在IIS上进行重定向、url重写。
https://stackoverflow.com/questions/47729235
复制相似问题