Asp.net core F#ASP.NET核心项目:EntryPointAttribute错误
这是我的ASP.NET核心Web API入口点:Asp.net core F#ASP.NET核心项目:EntryPointAttribute错误,asp.net-core,f#,Asp.net Core,F#,这是我的ASP.NET核心Web API入口点: open Microsoft.AspNetCore open Microsoft.AspNetCore.Hosting module Hosting = let BuildWebHost args = WebHost .CreateDefaultBuilder(args) .UseStartup<Startup>() .UseIISInt
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
打开Microsoft.AspNetCore
打开Microsoft.AspNetCore.Hosting
模块托管=
让BuildWebHost参数=
网络主机
.CreateDefaultBuilder(args)
.UseStartup()
.Useii整合()
.Build()
模块程序=
让[]main args=Hosting.BuildWebHost(args.Run();0
这是我项目中的最后一个文件Program.fs
经过几个月的顺利编译,我突然发现以下编译失败:
错误FS0433:标记为“EntryPointAttribute”属性的函数必须是编译序列中最后一个文件中的最后一个声明
这是最后一个文件中的最后一个声明--知道为什么现在会突然失败吗?这是因为用户机密基础结构将一个文件作为程序集中的最后一个文件注入。它在F#的下一版本中已修复:请参阅
这里有一个解决方法:,您可以在代码库中而不是在项目文件中设置用户机密ID。我会再次检查它是否仍然是项目中的最终文件;可能是某些原因导致它在.fsproj文件中移动。例如,如果您正在使用VS Code+Ionide,您可能在某个点意外地按下了
Ctrl+Shift+Up
,这是“向上移动文件”的快捷方式。如果当时没有打开F#项目视图,那么在发生这种情况时,您可能不会得到任何视觉反馈。这件事在我身上发生过一两次,但不是在这里发生的。这是用户的秘密。