1

IIS 6/7 でホストされている WCF サービスがあります。.svc ファイルでさまざまなことを試しましたが、うまくいきません。FileNotFoundException 「ファイルまたはアセンブリ 'XYZ' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません。」が常に発生します。

アセンブリは、GAC ではなく bin フォルダーにあります。しかし、XYZ は名前空間とクラス名であるため、サーバーは間違ったアセンブリ ファイル名を探しています。アセンブリ ロード トレースは、さまざまな場所で XYZDLL を探していることを確認しますが、その名前空間とクラス名 ... XYDLL はアセンブリになります。

Visual Studio 2010で生成されたsvcを試し、完全修飾名のみを含むように変更しました

<%@ ServiceHost Service="X.Y.Z, X.Y, Version=1.0.2.0, Culture=neutral, PublicKeyToken=xxxxx" %>
4

3 に答える 3

0

アセンブリ バインド ログ ビューアを使用して、clr が要求されたアセンブリを探している場所を確認します - http://msdn.microsoft.com/en-us/library/e74a18c4(v=VS.100).aspx

于 2011-08-09T10:10:41.187 に答える
0

エラー メッセージは誤解を招く可能性があります。同じプロジェクトでテスト ページを作成し、型名からサービス クラスのインスタンスを作成してみてください。このテスト ページに移動すると、見つからないアセンブリに関する適切なエラー メッセージが表示されます。次のコードを使用できます。



    Type serviceType = Type.GetType("X.Y.Z, X.Y, Version=1.0.2.0, Culture=neutral, PublicKeyToken=xxxxx");
var serviceInstance = Activator.CreateInstance(serviceType);
Response.Write(serviceInstance);
于 2011-08-09T15:27:00.320 に答える