0

私は、一度展開された Web サービスが不思議なことに動作するために他の DLL を必要としています。

C:\inetpub\wwwroot\MyWebsiteで実行されている Web サイトと、 C:\inetpub\wwwroot\MyWebsite\WebServiceで実行されている Web サービスがあります。

Web サイト MyWebsite の下の IIS でアプリケーション (C:\inetpub\wwwroot\MyWebsite\WebService を指す WebService) を作成しました。

WebService の .svc の 1 つを実行すると、次のようになります。

Could not load file or assembly 'Blah.Web' or one of its dependencies. The system     cannot find the file specified. 
Description: An unhandled exception occurred during the execution of the current web    request. Please review the stack trace for more information about the error and where it    originated in the code. 

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly   'Blah.Web' or one of its dependencies. The system cannot find the file specified.

Blah.web は、MyWebsite で使用される DLL です。VS 2010 でさえ参照されていないこの DLL が突然 WebService に必要になるのはなぜですか?

それはweb.configのものですか?

ありがとう、

4

1 に答える 1

0

これは、Web サービスが Web サイト内にネストされているためです。そのため、Web サイトが自動的にコンパイルされると、メイン Web サイトと Web サービス Web サイトのコードがコンパイルされます。ただし、コンパイラはメイン Web サイトのコンテキストで機能しているため、\mywebsite\myservice\bin ではなく、mywebsite\bin でコードを探します。

個人的には、アーキテクチャを変更して、Web サービス サイトをネストせずに別のものにします。少なくとも、独自の Web アプリケーション (IIS で構成) または別の Web サイトである必要があります。

于 2012-07-04T18:49:26.233 に答える