我正在开发一个ASP.NET Web API v2应用程序。我的应用程序在我的DEV机器上工作正常,但是当我将它部署到我的服务器时,会出现以下错误。
The following errors occurred while attempting to load the app.
- 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.
在搜索Google,SO和其他网站后,我发现在我的项目中添加了一个默认的Startup.cs类修复了该问题。问题是我不知道如何。
OWIN
,但我甚至不知道我正在使用任何OWIN
功能。答案 0 :(得分:3)
这很可能是由于OWIN搜索其入口点(Startup
类)的方式。在您的开发环境中,您可能在项目文件夹中有一个具有OWIN Startup类的DLL。该dll未作为部署步骤的一部分进行部署,因此在您部署的位置不存在。
同样的另一个可能性是你使用.config转换并且你已经在DEV配置中定义了一个Startup类,但是没有在你部署的配置中定义。
<appSettings>
<add key="owin:appStartup" value="StartupDemo.ProductionStartup" />
</appSettings>
OWIN Startup Class Detection可能会提供信息。
MVC5默认情况下使用OWIN管道,所以它在#34;下面#34;。也许您是从以前的MVC站点迁移出来的,这就是为什么缺少Startup类的原因?
干杯!