Пытаясь заставить dotnet-fantomas
работать, я установил Fantomas
и dotnet-fantomas
из Nuget
и добавил строки
<ItemGroup>
<DotNetCliToolReference Include="dotnet-fantomas" Version="2.7.1" />
</ItemGroup>
в мой .fsproj
файл. Затем я добавил папку, в которую dotnet-fantomas.exe
был установлен путь Windows.
Затем я открыл командную строку в папке с некоторыми файлами .fs
и попытался запустить
dotnet-fantomas Asset.fs --force
Я получил сообщение об ошибке ниже. dotnet-fantomas
запрашивает FSharp.Core, Version=4.4.1.0
, и у меня FSharp.Core
версия 4.3.4. Просмотр в Nuget Package Manager
, это последняя доступная версия. Мой проект имеет 4.4.3.0
как целевую среду выполнения и .NET Framework 4.6.1
как целевую платформу.
Чего мне не хватает?
C:\Projects\bitbucket3\VSProjects\Fractal13\Fractal13>dotnet-fantomas Asset.fs --force
The following exception occurs while formatting stdin: System.IO.FileLoadException: Could not load file or assembly 'FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Fantomas.CodeFormatterImpl.createFormatContextNoChecker(String fileName, String source)
at Fantomas.CodeFormatter.FormatDocument(String fileName, String source, FormatConfig config)
at Fantomas.Cmd.Program.processSourceString(Boolean isFsiFile, String s, TextWriter tw, FormatConfig config)
at Fantomas.Cmd.Program.stringToFile@185(FSharpRef`1 force, FSharpRef`1 profile, FSharpRef`1 fsi, String s, String outFile, FormatConfig config)
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Force writing original contents to Asset.fs.