我得到这个错误,因为我的项目无法找到OWIN启动类的参考。我甚至通过Nuget安装了所有的OWIN参考包,仍然得到相同的问题。我使用的是Visual Studio 2012和MVC4。

在尝试加载应用程序时发生了以下错误。

没有找到包含OwinStartupAttribute的程序集。 没有找到包含Startup或[AssemblyName]的程序集。启动类。禁用OWIN启动发现,添加appSetting owin:在你的web.config中,AutomaticAppStartup的值为“false”。 要指定OWIN启动程序集、类或方法,请添加 appSetting owin:使用完全合格的启动类或 config中的配置方法名称。


当前回答

如果你不想使用OWIN启动,这是你应该添加到你的网页。配置文件:

在AppSettings下添加以下行:

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

这是它在你的web.config中的样子:

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

其他回答

虽然我不能完全解释为什么这为我解决了这个问题,但在我将API项目更改为build以分离\debug和\release文件夹后,我遇到了这样的问题。一旦我将更改还原到单个\bin文件夹,事情就开始工作了。

我把我的经验写在这里:不能让OWIN启动类在IIS Express重命名ASP后运行。NET项目文件

看看Startup.cs文件,你可能会错过其中一个。这个文件是OWIN的入口点,所以听起来好像这个缺失了。看看这里的OWIN Startup类,了解发生了什么。

正如您的错误所指定的,您可以在web上禁用此功能。通过做以下配置…

禁用OWIN启动发现,添加appSetting owin:在你的web.config中,AutomaticAppStartup的值为“false”

如果通过IIS Express运行并且虚拟目录没有正确配置,也可能出现此异常(即使您有正确配置的启动类)。

当我遇到这个问题时,解决方法是简单地按下项目属性“Web”选项卡中的“创建虚拟目录”按钮(使用Visual Studio 2013)

我尝试了这里推荐的大多数修复程序,仍然无法避免错误消息。最后,我组合了几个推荐的解决方案:

添加这个条目到我的web.config的AppSettings部分的顶部: <add key="owin:AutomaticAppStartup" value="false"/> 展开项目的References节点并删除包含字符串OWIN的所有内容。(我觉得这样做是安全的,因为我的组织在未来不是(也不会是)一个活跃的OWIN提供商)

然后我点击运行,我的主页就加载了。

您是否真的试图将OWIN添加到您的项目中,或者这是意想不到的事情?

如果你想要添加OWIN,添加一个Startup类是最好的方法。 如果你不需要任何Owin的参考资料: 删除/bin文件夹中的Owin.dll。 Owin.dll是试图标识Startup类的程序。