我有一些依赖于某些共享组件的应用程序。我正在将应用程序本地目录之外的这些共享程序集移动到共享目录。我的目标是每次发布新版本的共享程序集时,我只需将新版本放在共享目录中,而不必更改我的应用程序中的任何内容。我认为assemblyResolve事件是一个很好的解决方案。我有一个特定的问题要询问处理程序的工作方式。
假设我附加此处理程序以解析共享目录中缺少的程序集。我只使用程序集名称在目录中找到相应的dll并使用Assembly.LoadFrom(dllpath)加载它。
我的应用程序引用程序集:名称:A,版本:1.0,publickey:... 程序集升级到版本:2.0 我将新程序集放在共享目录中。
应用程序是否会正确选择新版本?加载新程序集并从处理程序返回后,C#是否进行了任何匹配?
从我的测试中,它运行正常。 .NET在注册从处理程序返回的程序集时忽略该版本。我只是想确保我没有错,并且没有任何警告
感谢