3

プラグインをサポートするASP.NETMVC4アプリケーションを実装していますが、今日から奇妙な動作があり、理由がわかりません。数日前に正常に機能
したプラグインをロードしましたAssembly.Load(path)が、シャドウコピーが機能しないためファイルをロックしました。プラグインフォルダが外にあったので動作します/bin
このため、これAssembly.Load(File.ReadAllBytes(path))も正常に機能しますが、実際にはクリーンなコードではないと思うので、今日はプラグインフォルダーを内部に移動してに/bin切り替えましたAssembly.Load(path)が、次の例外が発生します(ロケールで取得すると翻訳されます)。私のコードを実行する:

ファイルまたはアセンブリ"PATH_TO_MY_DLL"またはその依存関係の1つを読み込めませんでした。指定されたアセンブリ名またはコードベースが無効でした。(HRESULTからの例外:0x80131047)

元に戻すAssembly.Load(File.ReadAllBytes(path))と機能しますが、ファイルを直接ロードしても機能しないのはなぜですか?

4

1 に答える 1

4

元に戻したのは間違いだと思います。

Assembly.Load(string name): "name" という名前のアセンブリを読み込みます。

以下を使用する必要があります。

Assembly.LoadFile(path);
于 2013-01-04T18:27:34.687 に答える