プリンタデバイスとインターフェイスするサードパーティの混合モードアセンブリを使用します。
私たちのアプリケーションの1つでは、アセンブリは正しく機能します。
別のアプリケーションでは、次の例外が生成されていました。
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
調査を行った結果、この問題を解決するためにapp.configファイルに以下を追加できることがわかりました。
<startup useLegacyV2RuntimeActivationPolicy="true">
(動作するアプリケーションは、app.configにすでにこの設定があります)
これで「混合モードアセンブリ」の問題は解決しましたが、今では多少異なる問題が発生しています。
External component has thrown an exception
奇妙なことに、正しく動作するアプリケーションと動作しないアプリケーションがあります。どちらも同じコード(別のアセンブリ)を介してサードパーティのアセンブリを呼び出します。
同じコードパスを使用してサードパーティのアセンブリを呼び出す非常に単純なテストアプリを作成しようとしましたが、「外部コンポーネントが例外をスローしました」というエラーも発生します。
すべてのアプリケーションのapp.configファイルを比較しましたが、それらは基本的に同じであり、すべてのビルド設定がそれぞれで同じであることを再確認しました。どちらのプロジェクトも.NET4.0とX86を対象としています。
2つのアプリケーションには明らかに異なる点がありますが、それが何であるかを特定するのに迷っています。
開発環境はVisualStudio2010です。
誰かが私が調査できる他の分野について何か提案がありますか?