【问题标题】:How to use command-line options for F# within a .NET Core project?如何在 .NET Core 项目中使用 F# 的命令行选项?
【发布时间】:2021-04-30 04:08:29
【问题描述】:

我需要在 .NET Core 项目中的 F# 代码中使用保留字 sig 之一。正如手册所述:

如果您使用 --mlcompatibility 编译器选项,上述关键字可用作标识符

也可以通过设置项目属性来控制编译环境。对于面向 .NET Core 的项目,.fsproj 中的“其他标志”属性...用于指定额外的命令行选项。

在尝试这样做时,我成功地使我的项目崩溃了。

如何将命令行选项放入 .NET Core 项目中?

TIA。

【问题讨论】:

    标签: visual-studio .net-core f#


    【解决方案1】:

    在您遇到其他标志问题的部分 - 它需要进入/PropertyGroup。以下是默认 console 模板的示例:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net5.0</TargetFramework>
        <OtherFlags>$(OtherFlags) --mlcompatibility</OtherFlags>
      </PropertyGroup>
    
      <ItemGroup>
        <Compile Include="Program.fs" />
      </ItemGroup>
    
    </Project>
    

    遗憾的是,这不能解决您的主要观点 - 使用 sig 作为标识符仍然是一个错误(该选项只是删除了 警告

    查看How do I compile F# code with ML compatibility?中的讨论


    如果你真的想使用标识符,你可以试试这个小技巧:

    let ``sig`` = "F#"
    printfn "Hello world %s" ``sig``
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 2017-09-01
      相关资源
      最近更新 更多