我目前在一个项目中使用 Microsoft BCL Async 库(此处),其中包含大量相互依赖的程序集,全部针对 .NET 4 Full Profile 编译,我不得不在每个项目中使用程序集绑定重定向来编译它(根据问题2在这里)。
我现在遇到的问题是我从 C++/CLR DLL 项目中使用这些库之一,它实际上不需要使用异步,但我有以下编译错误:
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,版本=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>
任何建议表示赞赏!
问候, 安东尼