重命名ASP.NET MVC项目时出错
我已经复制了一个以前的项目并重新命名了它。 一旦我已经成功地重命名所有的名字空间,并正确地build立。 运行应用程序时出现以下错误:
The following errors occurred while attempting to load the app. - The OwinStartup attribute discovered in assembly 'User Manager Interface' referencing startup type 'User_Manager_Interface.Startup' conflicts with the attribute in assembly 'Service Monitor Web Interface' referencing startup type 'Service_Monitor_Web_Interface.Startup' because they have the same FriendlyName ''. Remove or rename one of the attributes, or reference the desired type directly. 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.
我已经知道,如果我将下面的第一行注释掉,错误就会消失。
//[assembly: OwinStartupAttribute(typeof(Service_Monitor_Web_Interface.Startup))] namespace Service_Monitor_Web_Interface { public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } } }
我将我的解决scheme从User_Manager_Interface重命名为Service_Monitor_Web_Interface。
我似乎无法find任何与旧名称的地方,在它提到的错误howevel。
我已经有过几次这个问题了,所以我会写下我遵循的程序来提醒自己:
- 将所有旧的解决scheme名称replace为新的解决scheme名称。
- 在每个项目下导航到“ 属性 ”,并将“ 程序集名称”和“ 默认名称空间”字段更改为新的解决scheme名
- 转到解决scheme文件夹并用新解决scheme名称重命名所有项目文件夹。
- 删除bin和obj文件夹下的所有文件。
- 解决scheme将无法加载项目。 删除所有项目并再次添加它们。
- 重build项目。
如果在包含OwinStartup类的相同bin文件夹中有两个程序集,则会发生此问题。 通常你不应该有两个OwinStartup类为同一个Web应用程序。
你可以通过检查你的bin文件夹来解决这个问题。 如果重命名之后,旧名称的程序集保留在bin文件夹中,则会出现此错误。 要解决它从bin文件夹中删除所有内容。
重命名解决scheme的组合后,我遇到了同样的问题。
我解决了确保OwinStartupAttritbute引用我的新程序集名称。
接下来是删除在bin文件夹中find的旧程序集。
我没有重新命名我的解决scheme,但我遇到了这个问题。 我无法find任何关于此的解决scheme。 我有一个在同一台服务器上的owin启动类2个独立的项目。 我只是给每个人一个不同的“友好的名字”在exception消息build议,并解决了它。 我在这发现了一篇好文章:
欧文创业class
要重命名它,所有你需要做的就是在OwinStartup上添加一个string像这样:
[汇编:OwinStartup(“ProductionConfiguration”,typeof(StartupDemo.ProductionStartup2))]
在web config appsetting上添加以下标签
<appSettings> <add key="owin:AutomaticAppStartup" value="false" /> </appSettings>
只是清理解决scheme,它应该做的伎俩;)
我有两个ASP .NET MVC 5项目,Project1和Project2。
问题是两个项目的DLL在同一个bin文件夹中,并且都使用了Owin中间件。 这意味着Project1.dll和Project2.dll存在于Project2的同一个bin文件夹中。
由于我在每个项目中只需要其中的一个,所以我只是删除Project2 bin文件夹中未使用的Project1.dll。