ASP.NET MVC应用程序的Owin错误

aba*_*ter 31 asp.net asp.net-mvc

我有一个在我的本地计算机上运行良好的ASP.NET应用程序.我刚刚使用Web部署将其上传到服务器.我尝试查看该网站时收到以下错误:

尝试加载应用程序时发生以下错误. - 在引用启动类型'Gators3.Startup'的程序集'Gators3'中发现的OwinStartup属性与程序集'MyFirstProject2'中引用启动类型'MyFirstProject2.Startup'的属性冲突,因为它们具有相同的FriendlyName''.删除或重命名其中一个属性,或直接引用所需的类型.要禁用OWIN启动发现,请在web.config中添加值为"false"的appSetting owin:AutomaticAppStartup.要指定OWIN启动程序集,类或方法,请在web.config中添加appSetting owin:AppStartup以及完全限定的启动类或配置方法名称.

我尝试在整个解决方案中搜索字符串"MyFirstProject2",但没有提出任何建议.该消息给出了一些建议,但它们对我来说都没有任何意义.我不知道如何"删除或重命名其中一个属性,或直接引用所需的类型",并且我没有在web.config中看到"添加appSetting owin:AppStartup与完全限定的启动web.config中的类或配置方法名称."

我找到了这个,但我不太清楚如何实现它.我也确实[assembly: OwinStartupAttribute(typeof(Gators3.Startup))]在我Startup.cs身上找到了,但不确定在那里做正确的事情也是.

Lao*_*aoR 62

问题是Gators3.dll和MyFirstProject2.dll在同一个文件夹中(我猜它是你服务器上的bin文件夹),两者都在使用Owin中间件.如果您不需要MyFirstProject2.dll,那么最简单的方法是删除该程序集.如果您需要它,但没有Owin - 在MyFirstProject2项目的Web.config/app.config中添加以下行: <add key="owin:AutomaticAppStartup" value="False" />

如果您需要为两个项目使用Owin,请为它们配置友好名称.

  • Gators3项目:

将Owin启动属性更改为:

 attribute [assembly: OwinStartupAttribute("GatorsConfig", typeof(Gators3.Startup))]
Run Code Online (Sandbox Code Playgroud)

并在appSettings部分的Web.config中添加以下行:

   <add key="owin:appStartup" value="GatorsConfig" /> 
Run Code Online (Sandbox Code Playgroud)
  • MyFirstProject2项目:

将Owin启动属性更改为:

   attribute [assembly: OwinStartupAttribute("MyFirstProject2Config", typeof(MyFirstProject2.Startup))]
Run Code Online (Sandbox Code Playgroud)

并在appSettings部分的Web.config中添加以下行:

   <add key="owin:appStartup" value="MyFirstProject2Config" />
Run Code Online (Sandbox Code Playgroud)


Nis*_*aan 21

我遇到了同样的问题:删除bin文件夹中的所有内容并重建解决方案对我来说很有用.但它可以与在startup类顶部重命名您的程序集属性相结合,为其提供一个Firendly名称,这将有助于区分两个启动文件.

[assembly: OwinStartup("MyFriendlyNameForProject1",typeof(MyProject.Startup))]
Run Code Online (Sandbox Code Playgroud)

  • 手动确保清除`/ bin`文件夹(=删除所有文件),对我来说是关键(thx).重命名程序集,从VS内部"清理"并重建是不够的,因为clean不能知道遗留的dll,因为它们仍然具有相同的旧名称 (6认同)

Sri*_*kar 18

清除bin文件夹和obj文件夹.再次构建项目并运行:)


Tin*_*ara 5

从bin文件夹中删除所有显示“ MyFirstProject2”的内容,然后重新生成解决方案,它将起作用。


Nic*_*sky 5

当您在另一个具有 owin 启动的项目中引用(错误地?)具有 owin 启动的项目时会发生这种情况。修复 - 删除引用、bin、obj 文件夹并重建。


Mic*_*les 5

另外,如果您发布针对Azure的解决方案:

1)右键单击并选择发布。
2)转到“设置”,然后展开“文件发布选项”
3)选择“在目标位置删除其他文件”
4)发布

从obj和bin文件夹删除文件后为我工作。