.net 4.0 如何将app.config文件与C++/CLI在VS 2012中配置程序集绑定?

.net 4.0 如何将app.config文件与C++/CLI在VS 2012中配置程序集绑定?,.net-4.0,visual-studio-2012,c++-cli,.net 4.0,Visual Studio 2012,C++ Cli,我目前正在一个项目中使用Microsoft BCL Async library(),该项目有大量相互依赖的程序集,所有这些程序集都是根据.NET 4完整配置文件编译的,我必须在每个项目中使用程序集绑定重定向来编译它(根据第2期) 我现在遇到的问题是,我从一个C++/CLR DLL项目中使用了其中一个库,它实际上不需要使用async,但我有以下编译错误: 2> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.target

我目前正在一个项目中使用Microsoft BCL Async library(),该项目有大量相互依赖的程序集,所有这些程序集都是根据.NET 4完整配置文件编译的,我必须在每个项目中使用程序集绑定重定向来编译它(根据第2期)

我现在遇到的问题是,我从一个C++/CLR DLL项目中使用了其中一个库,它实际上不需要使用async,但我有以下编译错误:

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文件

my 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>

任何建议都将不胜感激

问候,,
安东尼

我也有同样的问题,结果是,
真的
帮助了我

在继续阅读之前,请注意,只有在使用“Visual Studio 2012-Windows XP(v110_XP)”平台工具集构建C++/CLI项目时,才会出现此问题如果您不需要创建与WinXP兼容的DLL,请切换到“Visual Studio 2012(v110)”即可

让我详细说明我的情景:

我有一个C++/CLI控制台应用程序项目(ConsoleAppCLI)针对WinXP(v110\U xp)。ConsoleAppCLI引用一个库(AsyncLib),该库通过NuGet安装了Microsoft.Bcl.Async:

[ConsoleAppCLI.vcxproj]   (C++/CLI, .NET 4.0 v110_xp)
          |
          |
   [AsyncLib.csproj]      (C#, .NET 4.0)
          |
          |
 [Microsoft.Bcl.Async]    (via NuGet)
我遇到了完全相同的问题,app.config也没有帮助,但有帮助的是以下内容:

  • 卸载控制台Appcli.vcxproj
  • 直接编辑vcxproj文件
  • 查找已安装Async nuget包的库的引用(在我的示例中,是AsyncLib.csproj的
  • 之间,添加以下内容:
    True
  • 但是请注意,ConsoleAppCLI是我在依赖关系树中的顶级项目。如果您有依赖于生成MSB3268的C++/CLI程序集的程序集,则同样必须将
    True
    添加到引用中(例如,如果我有一个附加的C#库,该库将ConsoleAppCli作为依赖项,我也必须将引用添加到ConsoleAppCli
    True


    顺便问一下,这个解决方案是从哪里来的。

    你有办法解决这个问题吗?我有一个类似的错误,尽管我的错误与c++无关,嗨,詹姆斯,不幸的是,没有人提供任何有用的建议。我已经离开过圣诞节了,所以我将在下周再次关注这件事,因为这对我们来说是一个重要的项目。你具体有什么问题?一个C#项目?我的帖子中的app.config文件应该有助于解决这个问题……我的问题与Windows Phone/8的C#和Portable类库有关。不久之后,我发现了一个类似于我的stackoverflow问题。虽然错误非常相似,但它似乎与您的问题不相关,不幸的是,+1我使用AsiNC扩展与.NET 4项目有相同的问题,这意味着我们的主要C++项目将不再构建。添加了“特定版本”,一切又好了。。。ThanksI还可以确认,这描述了实际问题,解决方案运行良好。非常感谢。