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

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

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


当前回答

首先,你必须创建你的启动文件,然后你必须在web中指定该文件的语言环境。在appSettings标签中使用这一行:

<add key=“owin: app启动”值[namesce]。“初创公司- >

它解决了我的问题。

其他回答

在Visual Studio 2013 RC2中,有一个模板。只需将其添加到App_Start文件夹。

模板生成这样一个类:

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(WebApiOsp.App_Start.Startup))]

namespace WebApiOsp.App_Start
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
        }
    }
}

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

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

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

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

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

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

在我们的项目中,我们不需要OWIN功能,所以我们从最初的ASP中删除了所有的OWIN引用。NET MVC模板项目。删除OWIN启动类后出现此问题。

问题是额外的owin dll在我的bin文件夹。当我删除它们时,问题就解决了。你应该通过删除bin文件夹来删除它们。Clean Solution不会删除这些dll。

不知何故,当OWIN dll在bin文件夹中时,IIS仍然执行它们。