Подтвердить что ты не робот

"Рассмотрите возможность переназначения app.config сборки..." в F #

После установки VS11 я начал получать следующую ошибку:

Рассмотрите переназначение app.config сборки "FSharp.Core, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" из версии "2.0.0.0" [C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll] в версию "4.0.0.0" [C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll] для решить конфликт и избавиться от предупреждения. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1490,5): предупреждение MSB3247: найдены конфликты между различными версиями одной и той же зависимой сборки.

Что именно мне делать? Я не знаю, как сделать такое переназначение.

4b9b3361

Ответ 1

Ниже я думаю пример app.config, который делает то, что предлагается. Однако, что в вашем проекте, и что такое FSharp.Core ссылка? Вы ориентируетесь на .Net 4.5 или 4.0 или что? Описывает ли этот проект какую-то более старую библиотеку F #? Обычно это происходит потому, что два проекта ссылаются на разные версии FSharp.Core.dll, например. проверьте узлы <Reference> в файлах .fsproj.

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

Ответ 2

та же ошибка, связанная с Json.Net

В файле проекта у меня был

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

и

<ItemGroup>
   <Reference Include="Newtonsoft.Json">
      <HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
   </Reference>
</ItemGroup>

Удаление старого решение проблемы.

Ответ 3

Если вы хорошо выполнили обновление, такой проблемы не должно быть... Если вы не используете какую-либо стороннюю библиотеку, которая использует старый FSharp.Core. В моем случае это FSharpPowerPack, кто это делает.

Поэтому вам нужно либо сначала обновить эту библиотеку, чтобы избавиться от этого сообщения.