0

サポートを割り当てられた IIS 6.0 でアプリケーションを実行しようとしています。

すべてのソースとバイナリを Inetput フォルダーにコピーしました。WebApp は実行されていますが、アプリケーションのグローバル タイプをロードできなかったことを示すエラーが表示されます。

どうすればこれをデバッグできますか? 名前空間は正しく、DLL はアプリケーションの /bin/ フォルダーに存在しますが、それでもアプリはそれを読み込めません。

Fusion のログ記録を有効にした後、グローバル クラスに関する次のエラー ファイルが見つかりました。

*** Assembly Binder Log Entry  (05.11.2012 @ 08:45:30) ***

The operation failed.
Bind result: hr = 0x80131107. No description available.

Assembly manager loaded from:  C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\fusion.dll
Running under executable  c:\windows\system32\inetsrv\w3wp.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = MyApplication
 (Partial)
LOG: Appbase = file:///c:/inetpub/wwwroot/MyApplication
LOG: Initial PrivatePath = bin
LOG: Dynamic Base = C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\MyApplication\a1144233
LOG: Cache Base = C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\MyApplication\a1144233
LOG: AppName = 1ec25e47
Calling assembly : (Unknown).
===

LOG: Processing DEVPATH.
LOG: DEVPATH is not set. Falling through to regular bind.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: MyApplication
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/MyApplication/a1144233/1ec25e47/MyApplication.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/MyApplication/a1144233/1ec25e47/MyApplication/MyApplication.DLL.
LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/MyApplication/bin/MyApplication.DLL.
LOG: Assembly download was successful. Attempting setup of file: c:\inetpub\wwwroot\MyApplication\bin\MyApplication.DLL
LOG: Entering download cache setup phase.
ERR: Error extracting manifest import from file (hr = 0x80131107).
ERR: Setup failed with hr = 0x80131107.
ERR: Failed to complete setup of assembly (hr = 0x80131107). Probing terminated.

何がうまくいかないのですか?が存在し、bin\MyApplication.DLL正しくコンパイルされているため、問題は見られません...

4

1 に答える 1

1

コメントから解決策を再現しています...

ステップ1は、 Fusion Loggingを有効にして、何が失敗したかのログを取得することです。

これにより、IISがバージョン1.1の.NetFrameworkでDLLを起動しようとしたことを示すログファイルが生成されました。その後、dllのマニフェストを読み取ろうとしたときにエラーが発生しました。

これは、dllがフレームワークの新しいバージョンのものであり、ロードできなかったことを示しています。

于 2012-11-05T10:23:57.837 に答える