F# 如何设置owinstartup属性?

F# 如何设置owinstartup属性?,f#,owin,F#,Owin,我读了F#中的a,但似乎无法应用这里的答案 我有一个非常简单的代码,它给出了与链接问题相同的错误。“这不是有效的常量表达式或自定义属性值。” 名称空间MyNamespace 打开Microsoft.Owin 开放式Owin 键入Startup()= 成员x.Foo()=() 成员x.ConfigureAuth(应用程序:IAppBuilder)= //app.CreatePerOwinContext() () [] do() 可以让多个文件/类定义程序集属性吗? 如果不是,将assemblyi

我读了F#中的a,但似乎无法应用这里的答案

我有一个非常简单的代码,它给出了与链接问题相同的错误。“这不是有效的常量表达式或自定义属性值。”

名称空间MyNamespace
打开Microsoft.Owin
开放式Owin
键入Startup()=
成员x.Foo()=()
成员x.ConfigureAuth(应用程序:IAppBuilder)=
//app.CreatePerOwinContext()
()
[]
do()
可以让多个文件/类定义程序集属性吗? 如果不是,将assemblyinfo.fs文件移近项目底部是否可以(不脏)


最大的问题是,如何编译此文件?

如果您添加
成员\uuuuuu.配置
它应该自动检测它:

namespace MyNamespace
open Microsoft.Owin
open Owin

type Startup() = 
    member x.Foo() = ()
    member x.ConfigureAuth (app : IAppBuilder) = 
        //app.CreatePerOwinContext()
        ()

    member x.Configuration (app: IAppBuilder) =
        app.Run(fun c -> c.Response.WriteAsync("Hello maslow!"))
此外,如果指定参数,这也适用:

[<assembly: Microsoft.Owin.OwinStartup(startupType = typeof<Startup>)>]
do ()

只是想澄清一下:这是您的assemblyinfo.fs吗?不,不是,它是在
global.asax.fs
ok之前的一个文件-您应该移动
[]
放在一个地方-我不认为你真的想在你的
Startup
类的构造函数中使用它-通常你想在assemblyinfo.fs中的单个do中使用它,这就是为什么我在C#samples中询问,他们通常会在Startup.cs文件的顶部添加OwinStartup,这可能就是原因。如果你的命名遵循标准惯例,我会尽量避免。(约定优于配置样式)为什么使用双通配符?和其他代码一样,只有一个x。正确,我从我想做的代码中得到了它。但这是不允许的,所以我补充说。因为当我不在乎它的时候,我就用它。更新了一致性代码您使用
.
表示您不关心此实例变量;)-这是一个约定,fspowertools理解它。例如,是的,我有点喜欢
对于一个你不打算使用的实例变量,它没有被广泛使用,它类似于“忽略通配符”,但实际上是一个标识符,与x、xs、ls、this或me非常相似。x是最常用的,也是最短的:-)
[<assembly: Microsoft.Owin.OwinStartup(startupType = typeof<Startup>)>]
do ()
namespace MyNamespace
open Owin
open Microsoft.Owin

type Startup() = 
    let configureAuth (app: IAppBuilder) = 
        //app.CreatePerOwinContext()
        ()

    member __.Configuration (app: IAppBuilder) =
        configureAuth app
        app.Run(fun c -> c.Response.WriteAsync("Hello maslow!"))