Tôi có một dịch vụ WCF có chứa một số mã C#, trong đó tham khảo một dll C++/CLI, tham khảo một số DLL gốc. Tôi bao gồm tất cả các file DLL cần thiết trong thư mục bin cho các ứng dụng IIS của tôi, nhưng khi IIS tải DLL quản lý, có vẻ như được sao chép chúng vào một thư mục sâu như:Làm cách nào để tải IIS bản địa được dịch vụ WCF của tôi tham chiếu?
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\testwcf\73473be6\e625098c\assembly\dl3\aada7c33\85a7332b_2f9acc01
Nó sao chép mỗi DLL cố gắng của mình thư mục riêng và tải nó. Khi nó được gửi đến C++/CLI DLL của tôi, nó sao chép nó vào một thư mục như trên, và sau đó nó không thể tải các phụ thuộc. Nếu tôi tự sao chép tất cả các DLL gốc vào thư mục này, nó sẽ chạy, nhưng đó không phải là một giải pháp tuyệt vời.
My web.config là tệp cổ phiếu được tạo bởi VS, với điểm cuối được xác định dựa trên bài viết 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>
Làm cách nào để nhận các tệp DLL này tự động?
nội dung của web.config của bạn sẽ giúp hiểu nó tốt hơn –
@SSamra Bài đăng hiện được cập nhật –
không thể thấy bất kỳ điều gì sai, làm thế nào về AppPool của bạn là nó 32 bit được kích hoạt? bạn có thể tìm thấy nhóm ứng dụng của mình trong IIS \ Application Pools và sau đó chọn một ứng dụng mà bạn đang chạy ứng dụng web của mình –