最近在开发项目时,碰到了一个头痛的问题,原本是没有出现这个问题的,个人猜想原因是由于将三个网站的项目,通过一个中间项目引用了后台Manage项目的一个Dll,导致在启动网站项目的时候,会报出如下错误:
由报错信息可以推测出,要启动的网站项目跟后台的启动Startup类属性冲突了。之前网上百度各种查找资料也只是简单介绍了一这个OwinStartupAttribute类和AppBuilder类。但是没有一篇文章解决如何发生的这种问题和解决办法。
报错信息里也提到了如何解决这一冲突的办法提示:
若要指定OWIN启动程序集、类或者方法,请在web.config中为appSetting owin:AppStartup添加完全限定的启动类或配置方法名称。
嗯,在冲突的项目下找到Startup.cs文件,打开,可以看到所在的命名空间:
好,我们直接去Web.config文件中添加配置节:
key值是owin:AppStartup,value就是你 Startup类所在的命名空间了。好,重新运行项目。
这时候又发现了另外一个问题了如图:
好吧,那我们也按着提示去修改一下路由注册:
在路由配置中,添加指定的路由命名空间,这样再重新运行项目就没有问题了。