現在、.NET 4 フル プロファイルに対してコンパイルされた多数の相互依存アセンブリを含むプロジェクト全体でMicrosoft BCL Async ライブラリ (ここ) を使用しています。各プロジェクトでアセンブリ バインディング リダイレクトを使用してコンパイルする必要がありました (第2号はこちら)。
私が今抱えている問題は、C++/CLR DLL プロジェクトからこれらのライブラリの 1 つを使用することです。実際には非同期を使用する必要はありませんが、次のコンパイル エラーが発生します。
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): 警告 MSB3268: 間接的な依存関係があるため、プライマリ参照 "ImInterface.dll" を解決できませんでしたフレームワーク アセンブリ「System.Runtime、Version=1.5.11.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a」は、現在対象となっているフレームワークでは解決できませんでした。".NETFramework,Version=v4.0". この問題を解決するには、参照 "ImInterface.dll" を削除するか、"System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" を含むフレームワーク バージョンにアプリケーションを再ターゲットします。
すべての C# プロジェクトで使用したのと同じ app.config ファイルを追加しましたが、C++ プロジェクトでは効果がないようです。app.config ファイルを認識できるようにするには、特定のディレクトリに配置するか、他の手順を実行する必要がありますか?
私のapp.configファイルの内容は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.11.0" newVersion="2.5.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.11.0" newVersion="2.5.11.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
どんな提案でも大歓迎です!
よろしく、アンソニー