#f#
#f#
Вопрос:
Код проекта: https://github.com/sharpninja/csproj-convert
Я пытаюсь обновить старый проект F # до .Net 5 и получаю эту ошибку:
PS C:GitHubcsproj-convert> dotnet run
System.ComponentModel.Win32Exception (2): The system cannot find the file specified.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at Microsoft.DotNet.Cli.Utils.Command.Execute(Action`1 processStarted)
at Microsoft.DotNet.Cli.Utils.Command.Execute()
at Microsoft.DotNet.Tools.Run.RunCommand.Execute()
at Microsoft.DotNet.Tools.Run.RunCommand.Run(String[] args)
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
at Microsoft.DotNet.Cli.Program.Main(String[] args)
Есть идеи, что я делаю не так?
Ответ №1:
Проблема в том, что это очень старый проект, в котором указаны более старые компоненты (более 3 лет назад), которые просто несовместимы с .NET 5. Удалите следующие ссылки на пакеты:
<PackageReference Include="FSharp.Core" Version="5.0.0" />
<PackageReference Include="FSharp.NET.Sdk" Version="1.0.5" />
Первый не является необходимым (и фактически указан неправильно; Update
используется для переопределения ссылки, введенной по умолчанию для любого проекта F #). Второй — это старый инструмент, который запускает компилятор несколько лет назад, который использовался в .NET Core 1.0 дней.
Убедитесь, что вы также удалили свою obj
папку, чтобы она повторно сгенерировала project.assets.json
файл при сборке, и все должно быть готово.