私のC#アプリケーションからdllの中でC++関数を呼び出そうとしています。 dllは、ユーザーのマシンにインストールされるプログラムからのものであるため、実行時にdllをロードする必要があります。C#アプリケーションでC++ DLL関数を呼び出すときにコンテキストエラーからロードを修正する方法
デバッグアシスタント「LoadFromContext」の問題 検出したマネージド...
追加情報:「Client.API」という名前のアセンブリがから をロードされた「(パス私は次の例外を取得していますをdllファイルに変換する ')。この コンテキストを使用すると、シリアライズ、予期しない動作(キャスト および依存関係解決)が発生する可能性があります。ほとんどの場合、LoadFromコンテキストを避けることをお勧めします。 これは、グローバルアセンブリキャッシュまたはApplicationBase ディレクトリに アセンブリをインストールし、明示的にアセンブリをロードするときはAssembly.Loadを使用して実行できます。
私はこのエラーの意味を理解していません。そして私は自分の状況のためにそれを修正する方法を知らない。私はオンラインで検索しましたが、役に立つ情報はあまり見つかりませんでした。 これは、私が働いているコードされています。あなたが見る何
[DllImport("dmawin.dll")]
private static extern int LoginDialog(IntPtr pWndParent, string pStrTitle,
uint pFlags, [MarshalAs(UnmanagedType.LPWStr)] ref StringBuilder pStrDataSource,
int pDSLength, string pStrUsername, string pStrPassword, string pStrSchema);
private bool Login(string pDataSource, string pLoginName,
string pPassword, string pScheme)
{
private const int MAX_DB_NAME = 256;
IntPtr handle = ParentForm.Handle;
var sb = new StringBuilder(pDataSource, MAX_DB_NAME);
//function call
LoginDialog(handle, null, flags, ref sb, MAX_DB_NAME, pLoginName,
pPassword, pScheme);
}
このような警告を心配する理由はありますか? – user2481095
この場合ではありません。これは、dmawin.dllの内部動作に関する警告です。 – NineBerry