我的 .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
在许多文档页面中都提到了该定义)。关于我如何检测到这一点的任何其他想法?