我正在尝试配置远程服务(.net Framework 2.0)以加载特定程序集。目前我们在服务运行的主文件夹中有EPPlus.dll(v2.8.0.2)(此文件夹由许多其他服务共享),但我的服务需要加载EPPlus.dll(v4.0.4.0),即存储在子文件夹中。两者都有相同的名称。我一直在编辑App.config而没有运气。这是我的最后一次尝试:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EPPlus" culture="neutral" publicKeyToken="ea159fdaa78159a1" />
<!--<publisherPolicy apply="no"/>-->
<codebase version="4.0.4.0" href="C:\Program Files\MyCompany\Services\Common\EPPlus.dll" />
<codebase version="2.8.0.2" href="C:\Program Files\MyCompany\Services\EPPlus.dll" />
</dependentAssembly>
</assemblyBinding>
我已启用服务器日志记录:
日志:用户= NT AUTHORITY \ SYSTEM 日志:DisplayName = EPPlus,Version = 4.0.4.0,Culture = neutral,PublicKeyToken = ea159fdaa78159a1 (完全指定的) 日志:Appbase = file:/// C:/ Program Files / MyCompany / Services / 日志:初始PrivatePath = NULL
日志:此绑定在默认加载上下文中启动。 日志:使用应用程序配置文件:C:\ Program Files \ MyCompany \ Services \ MyService.Remoting.exe.Config 日志:使用C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ config \ machine.config中的计算机配置文件。 日志:政策后参考:EPPlus,Version = 4.0.4.0,Culture = neutral,PublicKeyToken = ea159fdaa78159a1 日志:尝试下载新的URL文件:/// C:/ Program Files / MyCompany / Services / EPPlus.DLL。 警告:比较程序集名称导致不匹配:主要版本 错误:无法完成程序集的设置(hr = 0x80131040)。探测终止。
提前感谢您的回答。