Подтвердить что ты не робот

Ошибка Owin с использованием приложения ASP.NET MVC

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

При попытке загрузить приложение произошли следующие ошибки. - Атрибут OwinStartup, обнаруженный в сборке "Gators3", ссылающийся на тип запуска "Gators3.Startup", конфликтует с атрибутом в сборке "MyFirstProject2", ссылающимся на тип запуска "MyFirstProject2.Startup", потому что у них одно и то же имя FriendlyName ". Удалите или переименуйте один из атрибутов или обратитесь к нужному типу напрямую. Чтобы отключить обнаружение запуска OWIN, добавьте appSetting owin: AutomaticAppStartup со значением "false" в вашем web.config. Чтобы указать запуск, класс или метод OWIN, добавьте appSetting owin: AppStartup с полным классом класса запуска или имени метода настройки в вашем web.config.

Я попробовал поиск всего решения для строки "MyFirstProject2", но ничего не придумал. Сообщение дает пару предложений, но ни один из них ничего не значит для меня. Я не знаю, как "удалить или переименовать один из атрибутов или напрямую ссылаться на нужный тип", и я не вижу места в web.config для "добавления appSetting owin: AppStartup с полным запуском класс или имя метода конфигурации в вашем web.config."

Я нашел этот, но не совсем уверен, как его реализовать. Я также нашел [assembly: OwinStartupAttribute(typeof(Gators3.Startup))] в моем Startup.cs, но не уверен, что нужно делать.

4b9b3361

Ответ 1

Проблема в том, что файлы Gators3.dll и MyFirstProject2.dll находятся в одной папке (я думаю, это папка bin на вашем сервере), и оба используют промежуточное ПО Owin. Если вам не нужен MyFirstProject2.dll, самым простым способом было бы удалить эту сборку. Если вам это нужно, но без Owin - добавьте следующую строку в Web.config/app.config в проект MyFirstProject2: <add key="owin:AutomaticAppStartup" value="False" />

Если вам нужно использовать Owin для двух проектов, настройте дружественные имена для них обоих.

  • Проект Gators3:

Измените атрибут запуска Owin на что-то вроде:

 attribute [assembly: OwinStartupAttribute("GatorsConfig", typeof(Gators3.Startup))]

И добавьте следующую строку в Web.config в разделе appSettings:

   <add key="owin:appStartup" value="GatorsConfig" /> 
  • Проект MyFirstProject2:

Измените атрибут запуска Owin на что-то  как:

   attribute [assembly: OwinStartupAttribute("MyFirstProject2Config", typeof(MyFirstProject2.Startup))]

И добавьте следующую строку в Web.config в разделе appSettings:

   <add key="owin:appStartup" value="MyFirstProject2Config" />

Ответ 2

У меня была такая же проблема: удаление всего в папке bin и восстановление моего решения работало для меня. Но его можно комбинировать с переименованием атрибута сборки в начале класса startup, давая ему имя Firendly, которое поможет различать оба файла запуска.

[assembly: OwinStartup("MyFriendlyNameForProject1",typeof(MyProject.Startup))]

Ответ 3

Очистите папку bin и папку obj. Снова создайте проект и запустите:)

Ответ 4

Удалите все, что говорит "MyFirstProject2" из папки bin, и перестройте решение. Он будет работать.

Ответ 5

У меня была такая же проблема, и я добавил следующий тег в веб-конфигурации:

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

Ответ 6

Кроме того, если вы публикуете решение для Azure:

1) щелкните правой кнопкой мыши и выберите "Опубликовать".
2) зайдите в Настройки и разверните "Параметры публикации файлов"
3) выберите "Удалить дополнительные файлы в месте назначения"
4) Опубликовать

Сработало у меня, после удаления файлов из папки obj и bin.

Ответ 7

Случается, когда вы ссылаетесь (по ошибке?) на проект с запуском owin внутри другого проекта с запуском owin. Исправить - удалить ссылки, bin, obj папки и перестроить.

Ответ 8

Вот что я сделал:

  1. Поскольку у меня есть 3 проекта в одном решении, мне пришлось открыть все папки bin каждого проекта и удалить все файлы там.

  2. Постройте каждый проект один за другим.

  3. Постройте все решение.

Проблема решается с моей стороны.

Ответ 9

Удалить файлы Bin, построить каждый проект по одному.

Ответ 10

Удалите старые данные во временных файлах по следующему пути

C:\Users\[user]\AppData\Local\Temp\Temporary ASP.NET Files\vs