F#ASP.NET Core项目:EntryPointAttribute错误

时间:2018-09-12 08:57:26

标签: asp.net-core f#

这是我的ASP.NET Core Web API入口点:

open Microsoft.AspNetCore
open Microsoft.AspNetCore.Hosting

module Hosting =
    let BuildWebHost args =
        WebHost
            .CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseIISIntegration()
            .Build()

module Program =
    let [<EntryPoint>] main args = Hosting.BuildWebHost(args).Run(); 0

这来自我项目中的最终文件Program.fs

经过几个月的顺利编译,我突然遇到以下编译失败:

  

错误FS0433:标有'EntryPointAttribute'属性的函数必须是编译序列中最后一个文件中的最后一个声明。

这是最后一个文件中的最后一个声明-知道为什么现在可能突然开始失败吗?

1 个答案:

答案 0 :(得分:3)

这是因为用户秘密基础结构将文件注入为程序集中的最后一个文件。在下一版F#中已修复:请参见https://github.com/aspnet/Configuration/issues/833

这里有一种解决方法:https://medium.com/@dmytrol/making-asp-net-core-user-secrets-work-in-f-projects-9b04572d81f6,您可以在代码库而不是项目文件中设置用户密钥ID。