Ошибка при переименовании проекта ASP.NET MVC

Я скопировал предыдущий проект и переименовал его. Как только я успешно переименовал все пространства имен и правильно построил. При запуске приложения я получил следующую ошибку:

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);
    }
}
}

Я переименовал свое решение с User_Manager_Interface в Service_Monitor_Web_Interface.

Кажется, что я не могу найти места со старым именем, howwvel в ошибке, которую он упоминает.

Ответ 1

У меня была эта проблема несколько раз, поэтому я запишу процедуру, которую я следую, также как напоминание для себя:

  • Заменить все прежнее имя решения новым.
  • Перейдите в Свойства в каждом проекте и измените поля Название сборки и По умолчанию пространства имен для нового имени решения.
  • Перейдите в папку решений и переименуйте все папки проекта с новым именем решения.
  • Удалите все файлы в папках bin и obj.
  • Решение не сможет загружать проекты. Удалите все проекты и добавьте их снова.
  • Восстановите проект.

Ответ 2

Эта проблема возникает, если у вас есть две сборки в одной папке bin, которые содержат класс OwinStartup. Обычно у вас не должно быть двух классов OwinStartup для одного и того же веб-приложения.

Вы можете решить эту проблему, проверив папку bin. Если после переименования сборка со старым именем осталась в папке bin, вы получите эту ошибку. Чтобы решить проблему, удалите все из папки bin.

Ответ 3

У меня была такая же проблема после переименования сборки решения.

Я решил, что OwinStartupAttritbute ссылается на мое новое имя сборки.

Далее следует удалить старую сборку, найденную в папке bin.

Ответ 4

Я не переименовал мое решение, но я столкнулся с этой проблемой. Я не мог найти решение, размещенное в любом месте. У меня было два отдельных проекта с классом запуска owin на том же сервере. Я просто дал каждому другому "Дружественное имя", как это было предложено в сообщении об исключении, и решил его. Я нашел хорошую статью по этому поводу:

Класс запуска Owin

Чтобы переименовать его, все, что вам нужно сделать, это добавить строку в OwinStartup. Итак:

[сборка: OwinStartup ( "ProductionConfiguration", typeof (StartupDemo.ProductionStartup2))]

Ответ 5

Добавьте следующий тег в настройку веб-конфигурации

<appSettings>
   <add key="owin:AutomaticAppStartup" value="false" />   
</appSettings>

Ответ 7

У меня есть два проекта ASP.NET MVC 5, Project1 и Project2.

Проблема заключается в том, что DLL двух проектов находится в одной папке bin и оба используют промежуточное ПО Owin. Это означает, что Project1.dll и Project2.dll существуют в той же папке bin Project2.

Так как мне нужен только один из них в каждом проекте, я просто удаляю неиспользуемый файл Project1.dll в папке bin проекта Project2.