0

C++ DLL に次のコードがあります。C# で構築された DotNet DLL のメソッドを読み込んで呼び出します。

Assembly^ a = Assembly::LoadFrom(gcnew String("MyDotNet.dll"));
Type^ type = a->GetType("MyAssemply.Assembly");
MethodInfo^ method = type->GetMethod("MyMethod");
Object^ obj = Activator::CreateInstance(type);
array<Object^>^ params = gcnew array<Object^>(0) {  };
Object^ ret = method->Invoke(obj, params);

問題は、C++ DLL で FreeLibrary を実行しても、リソースまたは DLL が解放されないように見えることです。DLL/リソースを解放するために呼び出す必要がある API またはメソッドはありますか?

Visual Studio 2010 を使用しています。

ありがとう。

4

1 に答える 1

1

アプリ プールからマネージド アセンブリをアンロードすることはできません。別のアプリ プールを作成してアンロードできます。

この投稿は関連しています:プライマリ AppDomain からアセンブリをアンロードする方法は?

于 2012-12-07T15:51:20.677 に答える