代码之家  ›  专栏  ›  技术社区  ›  cmeeren

UserSecretsId阻止将F 35; ASP.NET核心应用程序部署到Azure应用程序服务

  •  5
  • cmeeren  · 技术社区  · 6 年前

    我正在尝试将我的F#ASP.NET核心应用程序部署到Azure应用程序服务。不幸的是,每次我试图部署 <UserSecretsId> in this article 导致生成失败,并出现以下错误:

    A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence

    本文解释了错误发生的原因,并指示通过从项目文件中删除元素,而不是在 AssemblyInfo.fs <UserSecretsId> 在我的项目文件中具有新ID的元素,导致生成失败。

    有什么方法可以将F#ASP.NET核心应用程序发布到Azure应用程序服务吗?

    (另据报道 Microsoft/visualfsharp#5549

    1 回复  |  直到 6 年前
        1
  •  5
  •   natemcmaster    6 年前

    将此添加到.fsproj文件中以抑制属性生成。

    <PropertyGroup>
     <GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute>
    </PropertyGroup>
    

    如果要使用用户机密,则需要手动添加user secrets程序集属性。

    module Your.Namespace.AssemblyInfo
    open Microsoft.Extensions.Configuration.UserSecrets
    [<assembly: UserSecretsIdAttribute("Your UserSecretsId")>]
    do()
    

    https://github.com/aspnet/Configuration/pull/872