0

ソリューションを VS2010 から VS2012 に移植しています。すべてのコア ロジックは C++ で実装され、.net モジュールはマネージド ラッパー (C++/CLI ブリッジ) を介してこれらの機能にアクセスします。

顧客サイトで、私のラッパー dll の 1 つがプロジェクトでロードできず、「dll のロードに失敗しました。依存モジュールがもう 1 つ見つかりません」というエラーが表示されます。しかし、マシンで利用可能なすべての依存DLL。同じ dll が、私が開発した別の .net テスト アプリケーションから正常に読み込まれます。考えられる理由は何ですか?

記事で、VS2012 は「Strict Platform Checking」を実装しているため、AnyCPU と X64 ビルドを混在させるとこのエラーが発生する可能性があることがわかりました。テスト アプリケーションでこのエラーを再現できました。しかし、実際の展開では、すべてのプロジェクトが 64 ビット マシンの X64 プラットフォームでビルドされています。

http://www.codeproject.com/Articles/562386/Lessons-learned-migrating-to-Visual-Studio-2012-an

4

1 に答える 1

0

C++ コンパイラは自動的に最新の .NET バージョンをターゲットにしますが、C# やその他の言語はアップグレード中に .NET フレームワークの設定を保持しようとします。したがって、ミスマッチが発生します。

解決策は、C++ 以外のプロジェクトのプロジェクト設定を変更して、同じ新しい .NET バージョンをターゲットにすることです。

于 2013-07-01T05:38:31.240 に答える