加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Visual Studio 2013项目使它成为武士刀项目是什么?

发布时间:2020-12-16 03:49:52 所属栏目:asp.Net 来源:网络整理
导读:我刚开始努力去理解owin和katana.继 Asp.Net tutorial之后 我在VS2013中创建了一个空白的asp.net项目,并向Microsoft.Owin.Host.SystemWeb添加了一个Nuget Package引用.我创建的项目是空白,如图所示. 除了AssemblyInfo.cs,Web.config和packages.config之外,它
我刚开始努力去理解owin和katana.继 Asp.Net tutorial之后
我在VS2013中创建了一个空白的asp.net项目,并向Microsoft.Owin.Host.SystemWeb添加了一个Nuget Package引用.我创建的项目是空白,如图所示.

除了AssemblyInfo.cs,Web.config和packages.config之外,它什么都没有.现在当我跑(F5)时,它说

  • No assembly found containing an OwinStartupAttribute.
  • No assembly found containing a Startup or [AssemblyName].Startup class. To disable OWIN startup discovery,add the appSetting
    owin:AutomaticAppStartup with a value of “false” in your web.config.
    To specify the OWIN startup Assembly,Class,or Method,add the
    appSetting owin:AppStartup with the fully qualified startup class or
    configuration method name in your web.config.

现在的问题是如何通过向Microsoft.Owin.Host.SystemWeb添加Nuget引用,它开始寻找像Owin特定的东西,如Startup类等,如错误信息中所示?
我的意思是我运行了一个没有Nuget引用的不同项目,错误信息完全不同.通过添加Nuget引用,至少在两个文件AssemblyInfo.cs,Web.config中似乎没有任何改变.据我所知,添加Nuget添加了一个packages.config文件并添加了一些项目引用.此外,我还通过选项卡比较了两个项目选项卡的项目属性,但我没有发现任何差异!
所以我想知道世界上是什么导致Owin项目寻找Startup类?

解决方法

秘诀是Katana使用名为PreAppStart的ASP.NET功能.您可以在此处查看源代码:

https://katanaproject.codeplex.com/SourceControl/latest#src/Microsoft.Owin.Host.SystemWeb/PreApplicationStart.cs

如果ASP.NET应用程序中的程序集具有此程序集级别属性:

[assembly: PreApplicationStartMethod(typeof(PreApplicationStart),"Initialize")]

然后,ASP.NET将在应用程序启动时自动运行该代码.此代码将在“user”代码运行之前运行,甚至在Application_Start事件之前运行.这就是为什么它被称为PreAppStart.

在Katana的情况下,此代码动态注册ASP.NET HTTP模块(IHttpModule),该模块最终将搜索并尝试调用应用程序的启动/构建器类.如果失败了,卡布拉莫!

要禁用自动行为,请将此行添加到< appSettings>中的web.config.部分:

<add key="owin:AutomaticAppStartup " value="false" />

有关此行为的更多信息,请访问www.asp.net网站:http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection(与提及的评论者相同).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读