我的 .fsx 腳本有點舊,所以它們只適用于 .NET4.x,這意味著我需要fsharpi在 macOS 中使用命令運行它們。
現在我正在考慮開始將它們遷移到dotnet fsi; 但是,理想情況下,我可以找到一種在過渡期間以兩種方式同時運行它們的方法。
所以我希望,在他們里面,我可以做一些這樣的條件代碼:
#if NET5_0
System.Console.WriteLine "we're running in dotnet fsi, yay"
#else
System.Console.WriteLine "we're running with fsharpi, legacy"
#endif
但它不起作用,令人驚訝(我說令人驚訝,因為NET5_0在許多檔案頁面中都提到了定義)。關于如何檢測到這一點的任何其他想法?
uj5u.com熱心網友回復:
我想System.Environment.Version會給你你需要的資訊:
if System.Environment.Version.Major >= 5 then
System.Console.WriteLine "we're running in dotnet fsi, yay"
else
System.Console.WriteLine "we're running with fsharpi, legacy"
它看起來NET5_0只為 C# 定義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388592.html
上一篇:C#.NET6.0-僅exe嗎?
