这是我的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'属性的函数必须是编译序列中最后一个文件中的最后一个声明。
这是最后一个文件中的最后一个声明-知道为什么现在可能突然开始失败吗?
答案 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。