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

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

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


当前回答

我的情况吗?我有启动文件,但在项目中被排除。我只是把它包含进去,误差就剩下了。

其他回答

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

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

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

在Visual Studio 2015中,当你在MVC项目中使用Azure AD时,也会遇到这种情况。在这里,它在App_Start文件夹中创建了startup . auth .cs启动文件,但它将缺少

[assembly: OwinStartup(typeof(MyWebApp.Startup))]

加进去就可以了。这在命名空间开始之前。

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

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

当我得到TFS的最新版本时,其他项目在vs的多个实例中都是打开的,我就遇到了这个问题。重新打开VS修复了问题。

在我的例子中,我重命名了项目并更改了它的文件夹结构。我发现更新抛出错误的.csproj文件中的RootNameSpace和AssemblyName可以解决错误。如果你修改了项目的路径,我建议你也检查一下。

<RootNamespace>Company.Product.WebAPI</RootNamespace>
<AssemblyName>Company.Product.WebAPI</AssemblyName>