重命名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。

我已经有过几次这个问题了,所以我会写下我遵循的程序来提醒自己:

  1. 将所有旧的解决scheme名称replace为新的解决scheme名称。
  2. 在每个项目下导航到“ 属性 ”,并将“ 程序集名称”和“ 默认名称空间”字段更改为新的解决scheme名
  3. 转到解决scheme文件夹并用新解决scheme名称重命名所有项目文件夹。
  4. 删除binobj文件夹下的所有文件。
  5. 解决scheme将无法加载项目。 删除所有项目并再次添加它们。
  6. 重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。

Interesting Posts