F 中的"Consider app.config remapping of assembly ..."警告#



安装VS11后,我开始得到以下错误:

考虑app.config重新映射程序集"FSharp "。Core, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"从版本"2.0.0.0" [C:Program Files (x86)Reference AssembliesMicrosoftFSharp2.0Runtimev2.0FSharp.Core.dll]到版本"4.0.0.0" [C:Program Files (x86)Reference AssembliesMicrosoftFSharp2.0Runtimev4.0FSharp.Core.dll]解决冲突并摆脱警告。C:WindowsMicrosoft.NETFrameworkv4.0.30319Microsoft.Common.targets(1490,5):警告MSB3247:发现相同依赖程序集的不同版本之间存在冲突。

我到底该怎么做?我不知道如何做这样的重新映射

我认为下面是一个示例app.config,做什么建议。然而,什么是在你的项目,什么是FSharp。有核心参考吗?你的目标是。net 4.5还是。4.0 ?这个项目是否引用了一些旧的f#库?这通常是因为两个项目引用了不同版本的FSharp.Core.dll,例如,检查.fsproj文件中的<Reference>节点。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
          <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a"
                            culture="neutral"/>
<!--      <bindingRedirect oldVersion="0.0.0.0-2.9.9.9" newVersion="4.3.0.0"/>  -->
          <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

与Json相关的相同错误。净

项目文件中有

<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
   <SpecificVersion>False</SpecificVersion>
   <HintPath>..packagesNewtonsoft.Json.6.0.1libnet45Newtonsoft.Json.dll</HintPath>
</Reference>

<ItemGroup>
   <Reference Include="Newtonsoft.Json">
      <HintPath>..packagesNewtonsoft.Json.5.0.6libnet45Newtonsoft.Json.dll</HintPath>
   </Reference>
</ItemGroup>

删除旧的解决了问题。

如果你已经完成了升级,应该没有这样的问题…除非你使用的是第三方库,否则它使用的是旧的FSharp。核心本身。在我的例子中,是FSharpPowerPack做这个。

所以你必须首先更新库来删除这个消息

相关内容

最新更新