正在从WCF Windows主机中的不同文件夹加载WCF服务

本文关键字:WCF 文件夹 加载 服务 Windows 主机 | 更新日期: 2023-09-27 18:25:07

我想从WCF Windows主机加载WCF服务dll。EXE文件。但是WCf Service.dll存储在其他文件夹中。

文件夹结构:

'@root'Service'WCFService.dll (this is service)
'@root'Host'WCFHost.exe (this is host exe)
'@root'Host'WCFHost.exe.config (this is host exe configuration)
<services>
   <service name="XXX.Service">
      <endpoint address="http" binding="basicHttpBinding" contract="XXX.IService" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      <host>
         <baseAddresses>
            <add baseAddress="http://localhost:8035/Service" />
         </baseAddresses>
      </host>
   </service>
<services>

当我启动windows服务时,我会收到以下错误:

无法启动服务。System.IO.FileNotFoundException:未能加载文件或程序集'XXX.Service,版本=1.0.0.0,区域性=中性,PublicKeyToken=null'或其依赖项之一。系统无法找到指定的文件。文件名:'XXX.Service,版本=1.0.0.0,区域性=中性,PublicKeyToken=null。

提前感谢,Nizam

正在从WCF Windows主机中的不同文件夹加载WCF服务

假设代码示例中的XXX是服务实现的完全限定命名空间,那么这里有一些建议:

  • WCFService.dll的依赖项与exe或GAC不在同一目录中
  • 您正在生成host.exe的签名版本,该版本正试图加载WCFService.dll的未签名版本