Dot-Net-Core

‘{{FSharpCoreShippedPackageVersion}}’ 不是有效的版本字元串

  • February 23, 2020

我剛剛升級到 Visual Studio 2019 版本 16.5.0 Preview 2.0。它似乎破壞了使用dotnet命令行工具在 F# 中建構和執行 .NET Core 項目。

以前dotnet build工作dotnet run得很好。現在任何一個都會產生此錯誤消息(為便於閱讀而包裝):

C:\Program Files\dotnet\sdk\3.1.200-preview-014883\NuGet.targets(124,5):
 error : '{{FSharpCoreShippedPackageVersion}}' is not a valid version string.

我的項目中沒有FSharpCoreShippedPackageVersion我可以看到的字元串(包括在 .fsproj 文件中)。我還查看了引用的 NuGet.targets 文件,但也找不到FSharpCoreShippedPackageVersion

使用dotnet new console --language=F#也失敗,告訴我恢復 NuGet 包,但嘗試dotnet restore給出相同的錯誤消息。

我能做些什麼來解決這個問題?

更新:此問題似乎已在目前版本的預覽版中得到修復:

3.1.200-preview-014977

如果更新 Visual Studio 2019 預覽版,則不再需要此解決方法。


我找到了解決方法:

  1. dotnet new globaljson在項目根文件夾中執行
  2. 編輯 global.json 以使用 .NET Core 3.1.101而不是3.1.200-preview-014883.

看來 VS 2019 Version 16.5.0 Preview 2.0 和 .NET Core 的組合3.1.200-preview-014883導致了這個問題。

引用自:https://stackoverflow.com/questions/59875784