Ten błąd
Podczas próby załadowania aplikacji wystąpiły następujące błędy. - Nie znaleziono zestawu zawierającego OwinStartupAttribute. - Nie znaleziono podanego typu lub metody „false”. Spróbuj określić Assembly. Aby wyłączyć wykrywanie uruchamiania OWIN, dodaj właściwość appSetting owin: AutomaticAppStartup z wartością „false” w pliku web.config. Aby określić zestaw, klasę lub metodę uruchamiania OWIN, dodaj plik appSetting owin: AppStartup z w pełni kwalifikowaną klasą startową lub nazwą metody konfiguracji w pliku web.config.
pojawia się na moim ekranie na najbardziej płonącej brzydkiej stronie błędu, jaka kiedykolwiek powstała w historii.
Próbowałem postępować zgodnie z instrukcjami na stronie, wstawiając owin: AutomaticAppStartup w config.
<appSettings >
<add key="owin:AppStartup" value="false"></add>
</appSettings>
to nie rozwiązało problemu. Jakieś sugestie?
<add key="owin:AppStartup" value="false"></add>
mógłbyś spróbować<add key="owin:AutomaticAppStartup" value="false"></add>
i sprawdzić, czy to działa? Ponadto kilka linków do pomocy: OWIN Startup Class Detection i Owin zapewniają klasę startową w pliku web.config (bez automatycznego wykrywania startowego)Odpowiedzi:
Dodaj ten kod
web.config
pod<configuration>
tagiem, jak pokazano na poniższym obrazku. Twój błąd powinien wtedy zniknąć.<configuration> <appSettings> <add key="owin:AutomaticAppStartup" value="false" /> </appSettings> ... </configuration>
źródło
Chciałem się pozbyć OWIN w projekcie:
Wtedy dostałem błąd OWIN. Te kroki nie pomogły , ponieważ OWIN.dll nadal znajdował się w katalogu bin / .
NAPRAWIĆ:
źródło
Dla tych, którzy chcą, żeby to się zaczęło,
<add key="owin:AutomaticAppStartup" value="false" />
nie zadziała, ale poniższe zadziałały.Jeśli masz częściową klasę „Startup” w pliku Startup.Auth, utwórz kolejną częściową klasę Startup w katalogu głównym projektu.
zdefiniuj atrybut owinstartup zestawu wskazujący na tę klasę
utwórz metodę „Konfiguracja”
odbuduj swoją aplikację
Można również utworzyć metodę „Configuration” i dodać atrybut Assembly do Startup.Auth, ale zrobienie tego w ten sposób pozwala zachować oddzielenie klasy Startup dzięki wykorzystaniu podziału definicji klasy C #. Przeczytaj więcej tutaj: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods
Tak wyglądał mój plik Startup.cs:
using Microsoft.Owin; using Owin; [assembly: OwinStartupAttribute(typeof(ProjectNameSpace.Startup))] namespace ProjectNameSpace { public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } } }
źródło
Brakowało mi atrybutu:
[assembly: OwinStartupAttribute(typeof(projectname.Startup))]
Który określa klasę startową. Więcej szczegółów: https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/owin-startup-class-detection
źródło
możesz nie mieć metody konfiguracji w klasie, o której wspomniałeś
<appSettings> <add key="owin:AppStartup" value="WebApplication1.App_Start.Startup"/>
źródło
Otrzymałem ten błąd, ponieważ w kodzie była dodatkowa biała spacja
Zamiast
<add key="owin:AutomaticAppStartup" value="false" />
To było
<add key="owin:AutomaticAppStartup " value="false" />
źródło
Sprawdź, czy w projekcie została utworzona klasa Startup . To jest przykład:
using Microsoft.Owin; using Owin; [assembly: OwinStartupAttribute(typeof({project_name}.Startup))] namespace AuctionPortal { public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } } }
źródło
po prostu zastępuję
using (WebApp.Start(url))
z
using (WebApp.Start<Startup>(url))
rozwiązał mój problem. Klasa o nazwie Startup została już zaimplementowana. jak wspomniano powyżej przez @robthedev
źródło
Dodanie następującego klucza w pliku Web.config spowoduje usunięcie kodu
<appSettings> <add key="owin:AutomaticAppStartup" value="false" /> </appSettings>
źródło
Sprawdź, czy wybrano właściwy projekt startowy. Na początku miałem projekt interfejsu API sieci Web. To spowodowało ten błąd.
źródło
Wiem, że ten post jest stary, ale na wypadek, gdyby ktoś szukał tego samego błędu, spróbuj dodać
<add key="owin:AutomaticAppStartup" value="false"></add>
po tagu
<appSettings>
a jeśli potem pojawi się następny błąd:
dodaj kolejny kod po tagu,
<system.web>
który może znajdować się na początku<authentication mode="Forms"> <forms loginUrl="~/YourFolderName/yourFileName" timeout="1" /> </authentication>
W moim przypadku jest:
<authentication mode="Forms"> <forms loginUrl="~/Login/Index" timeout="1" /> </authentication>
źródło
Usunąłem wszystkie biblioteki DLL z gałęzi, która nie działała, a następnie skopiowałem wszystkie pliki DDl z mojej gałęzi, która działała, do mojej gałęzi, która nie działała. To rozwiązało problem.
źródło
po prostu wklej ten kod
<add key="owin:AutomaticAppStartup" value="false" />
do Web.config Nie w web.config są dwa webconfig więc upewnij się, że zostanie wklejony do Web.Configźródło
jeśli chcesz używać signalr, musisz dodać klasę startup.cs do swojego projektu
Kliknij prawym przyciskiem myszy w swoim projekcie, a następnie dodaj nowy element i wybierz klasę startową OWIN
następnie wewnątrz metody konfiguracji dodaj kod poniżej
Mam nadzieję, że ci się przyda
źródło
Dodaj klasę Startup.cs do katalogu głównego projektu z następnym kodem:
using Microsoft.Owin; using Owin; [assembly: OwinStartupAttribute(typeof(ProjectName.Startup))] namespace ProjectName { public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } } }
źródło
Jeśli wdrażasz na platformie Azure i pojawia się ten błąd. Po prostu usuń wszystkie pliki w witrynie (wykonaj kopię zapasową dowolnego pliku web.config, appsettings.json lub czegokolwiek, czego nie chcesz stracić) i wdróż ponownie. Pozostało kilka plików dll, które nie powinny znajdować się w lokacji, co powoduje, że Azure Portal uważa, że musi używać OWIN.
źródło
Dodaj poniższy kod do pliku web.config, a następnie uruchom projekt ...
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> </runtime>
źródło