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

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

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


当前回答

在我的情况下,我登录到ftp服务器。备份了ftp服务器上的当前文件。手动删除ftp服务器上的所有文件。干净的解决方案,重新部署代码。它工作。

其他回答

当我在VS2013中使用浏览器链接仪表板开始我的项目时,我总是得到相同的错误。但是,当我在调试模式下运行我的项目时,它会工作。我不知道为什么以及如何让浏览器链接仪表板工作。我检查了启动文件,它是好的,添加了appSetting行描述在一些答案“”,但没有工作。

显然,我做错的是在浏览器仪表板上点击了错误的链接。所有解决方案项目链接都显示在浏览器仪表板中,但只有启动项目链接有效。你需要点击启动项目的链接。

示例:我有2个项目,都显示在浏览器仪表板中,但只有一个标记为启动项目将工作(在解决方案资源管理器中显示为粗体)。我想这可能会帮助一些人做显而易见的事情,我花了2天时间才偶然发现了显而易见的事情。

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

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

我有这个问题,理解这不是什么错在OP的情况下,但在我的情况下,我确实有一个启动类,它只是没有找到它默认。

我的问题是在程序集名称中有空格,因此默认名称空间与程序集名称不同,因此启动类的名称空间与程序集名称不同。

正如错误提示的那样,按照约定,它将查找[程序集名称]。开始上课…因此,请确保启动类的命名空间与程序集名称相同。帮我解决了这个问题。

我在尝试SignalR并将其从项目中移除后遇到了这个问题。为了解决这个问题,我不得不删除远程服务器上站点的bin文件夹的内容,然后再次发布。

创建一个类与名称启动这将帮助你..

public class Startup
{
   public void Configuration(IAppBuilder app)
   {
      app.MapSignalR();
   }
}