Tengo un servicio WCF que contiene algún código C#, que hace referencia a un dll C++/CLI, que hace referencia a algunas DLL nativas. Incluyo todas las DLL necesarias en la carpeta bin para mi aplicación de IIS, pero cuando IIS carga los archivos DLL administrados, parece estar copiarlos en un directorio profundo como:¿Cómo consigo que IIS cargue una DLL nativa a la que hace referencia mi servicio WCF?
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\testwcf\73473be6\e625098c\assembly\dl3\aada7c33\85a7332b_2f9acc01
Se copia a cada una DLL administrada a su propio directorio y lo carga. Cuando llega a mi DLL C++/CLI, lo copia a un directorio como el anterior, y luego no puede cargar las dependencias. Si manualmente copio todas las DLL nativas en esta carpeta, se ejecutará, pero esa no es una gran solución.
Mi web.config es el stock creado por VS, con un punto final definido en un artículo de MSDN.
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="WcfService.Service1">
<endpoint address=""
binding="wsHttpBinding"
contract="WcfService.IService1" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
¿Cómo puedo obtener estos archivos DLL para ser recogidos de forma automática?
contenido de su web.config ayudará a entenderlo mejor –
@SSamra Post ahora se ha actualizado –
sí, no veo nada malo, ¿qué hay de su AppPool está habilitado para 32 bits? puede encontrar su grupo de aplicaciones en IIS \ Application Pools y luego seleccionar uno en el que esté ejecutando su aplicación web –