我目前正在使用 Microsoft BCL Async 库 (这里),在一个大量依赖的程序集中编译了 .NET 4 Full Profile,我不得不在每个项目中使用程序集绑定重定向来进行编译(参见此处的问题2here)。
现在我的问题是,我从 C++/CLR DLL 项目中调用其中一个库,它实际上不需要使用 async,但我遇到了以下编译错误:
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning 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 文件内容如下:
现在我的问题是,我从 C++/CLR DLL 项目中调用其中一个库,它实际上不需要使用 async,但我遇到了以下编译错误:
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning 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>
非常感谢您的建议!
祝好, 安东尼