Otrzymuję ten błąd, ponieważ mój projekt nie może znaleźć odwołania do OWIN
klasy startowej. Zainstalowałem nawet wszystkie pakiety referencyjne OWIN przez Nuget, wciąż otrzymując ten sam problem. Używam Visual Studio 2012
i MVC4
.
Podczas próby załadowania aplikacji wystąpiły następujące błędy.
- Nie znaleziono zestawu zawierającego OwinStartupAttribute.
- Nie znaleziono zestawu zawierającego Startup lub [AssemblyName] .Startup klasa. Aby wyłączyć wykrywanie uruchamiania OWIN, dodaj appSetting owin: AutomaticAppStartup z wartością „false” w pliku web.config. Aby określić zestaw startowy, klasę lub metodę uruchamiania OWIN, dodaj appSetting owin: AppStartup z pełną nazwą klasy uruchamiania lub metodą konfiguracji w pliku web.config.
c#
asp.net-mvc-4
visual-studio-2012
owin
Krunal Patil
źródło
źródło
Startup.cs
w projekcie?OwinStartupAttribute
? Czy Twój zespółStartup
lub[AssemblyName].Startup
klasy? Czy wyłączyłeś wykrywanie uruchamiania OWIN, dodając appSettingowin:AutomaticAppStartup
o wartości „false” w pliku web.config? Czy zrobiłeś jedną z tych rzeczy i zastanawiasz się, dlaczego to nie działa? Jakie jest Twoje pytanie?Odpowiedzi:
Stwórz jedną klasę o nazwie Startup, która pomoże ci ...
źródło
<appSettings>
obszaru, takiego jak:<add key="owin:AppStartup" value="[NameSpace].Startup" />
[assembly:OwinStartupAttribute(typeof(Identity_Test.Startup))]
doAssemblyInfo.cs
będzie działać zbyt.[assembly: OwinStartup(typeof([YourStartupNamespaceName].Startup))]
W naszym projekcie nie potrzebowaliśmy funkcji OWIN, więc usunęliśmy wszystkie odwołania do owin z początkowego projektu szablonu ASP.NET MVC. Problem wystąpił po usunięciu klasy startowej OWIN.
Problem polegał na tym, że dll owin był w moim folderze bin. Kiedy je usunąłem, problem został rozwiązany. Powinieneś je usunąć, usuwając folder bin. Czyste rozwiązanie nie usuwa tych bibliotek DLL.
Jakoś usługi IIS nadal wykonują biblioteki DLL OWIN, gdy znajdują się w folderze bin.
źródło
<add key="owin:AutomaticAppStartup" value="false"/>
jako appSetting. Tylko kilka porad dla osób, które próbują tego i nadal się to nie udaje.W Visual Studio 2013 RC2 jest do tego szablon. Po prostu dodaj go do folderu App_Start.
Szablon tworzy taką klasę:
źródło
Jeśli nie chcesz używać uruchamiania OWIN, powinieneś dodać to do pliku web.config :
W obszarze AppSettings dodaj następujący wiersz:
Tak powinno to wyglądać w pliku web.config:
źródło
Poszukaj
Startup.cs
pliku, być może brakuje jednego z nich. Ten plik jest punktem wejścia dla OWIN, więc wygląda na to, że go brakuje. SpójrzOWIN Startup class
tutaj, aby zrozumieć, co się dzieje.Jak określa błąd, możesz to wyłączyć w pliku web.config, wykonując następujące czynności ...
źródło
<add key="owin:AutomaticAppStartup" value="false" />
do<appSettings>
grupy i plik Startup.cs nie był już potrzebny.<add key="owin:AutomaticAppStartup" value="false" />
zrobi? Czy wyłączy jakąkolwiek funkcjonalność? Czy musimy później uruchomić aplikację, aby móc korzystać z dowolnej funkcji OWIN?Najpierw musisz utworzyć plik startowy, a następnie musisz określić ustawienia regionalne tego pliku w pliku web.config, wewnątrz tagu appSettings w tym wierszu:
<add key="owin:AppStartup" value="[NameSpace].Startup"/>
To rozwiązało mój problem.
źródło
Miałem ten problem, rozumiem, że to nie było złe w przypadku OP, ale w moim przypadku miałem klasę startową, po prostu domyślnie jej nie znajdowałem.
Moim problemem było to, że miałem spacje w nazwie zestawu, a zatem domyślna przestrzeń nazw była inna niż nazwa zestawu, stąd przestrzeń nazw dla klasy startowej była inna niż nazwa zestawu.
Jak sugeruje błąd, zgodnie z konwencją szuka on [Nazwa zestawu]. Uruchomienie dla klasy ... więc upewnij się, że przestrzeń nazw dla twojej klasy startowej jest taka sama jak nazwa zestawu. Naprawiono problem dla mnie.
źródło
Wypróbowałem tutaj większość zalecanych poprawek i nadal nie mogłem uniknąć komunikatu o błędzie. W końcu wykonałem kombinację kilku zalecanych rozwiązań:
Dodano ten wpis na górze
AppSettings
sekcji mojego pliku web.config :<add key="owin:AutomaticAppStartup" value="false"/>
Rozwiń węzeł Referencje w moim projekcie i usunąłem wszystko, co zawierało ciąg
OWIN
. (Czułem się bezpiecznie, ponieważ moja organizacja nie jest (i nie będzie) aktywnym dostawcą OWIN w przyszłości)Następnie kliknąłem
Run
i strona główna została załadowana od razu.źródło
W moim przypadku zmieniłem nazwę projektu i zmieniłem jego strukturę folderów. Odkryłem, że aktualizacja RootNameSpace i AssemblyName w pliku .csproj, w którym zgłaszany był błąd, rozwiązała błąd. Jeśli zmodyfikowałeś ścieżki swojego projektu, polecam to również sprawdzić.
źródło
Mój przypadek? Miałem plik startowy, ale jest wykluczony w projekcie. Właśnie to załączyłem i błąd został.
źródło
Można to spotkać również w programie Visual Studio 2015, gdy używasz usługi Azure AD z projektem MVC. Tutaj tworzy plik startowy jako Startup.Auth.cs w folderze App_Start, ale brakuje go
Dodaj go i powinieneś już iść. Dzieje się to przed rozpoczęciem przestrzeni nazw.
źródło
Możliwe jest również uzyskanie tego wyjątku (nawet jeśli masz poprawnie skonfigurowaną klasę startową), jeśli działa za pośrednictwem IIS Express, a katalog wirtualny nie jest poprawnie skonfigurowany.
Kiedy napotkałem ten problem, rozwiązaniem było po prostu naciśnięcie przycisku „Utwórz katalog wirtualny” na karcie „Internet” właściwości projektu (Korzystanie z programu Visual Studio 2013)
źródło
Czy naprawdę próbujesz dodać OWIN do swojego projektu, czy jest to coś nieoczekiwanego?
W przypadku, gdy chcesz dodać OWIN, możesz dodać klasę startową.
W przypadku , gdy nie potrzebujesz żadnego odniesienia do Owin :
usuń Owin.dll z folderu / bin .
Owin.dll to ten, który próbuje zidentyfikować klasę uruchamiania.
źródło
Chociaż nie potrafię w pełni wyjaśnić, dlaczego to rozwiązało problem, napotkałem taki problem po zmianie projektu interfejsu API na kompilację na osobne
\debug
i\release
foldery. Po przywróceniu tej zmiany z powrotem do kompilacji do jednego\bin
folderu wszystko zaczęło działać.Zapisałem tutaj swoje doświadczenie: Nie mogę uruchomić klasy OWIN Startup w IIS Express po zmianie nazwy pliku projektu ASP.NET
źródło
Natknąłem się na ten problem po eksperymentach z SignalR, a następnie usunięciu go z projektu. Aby rozwiązać ten problem, musiałem usunąć zawartość folderu bin dla witryny na zdalnym serwerze, a następnie opublikować ponownie.
źródło
Po prostu sprawdź, czy
packages.config
plik jest zaewidencjonowany (po wykluczeniu w eksploratorze pojawi się czerwony symbol braku wpisu). Z jakiegoś dziwnego powodu mój został wykluczony i spowodował ten problem.źródło
Wciąż pojawiał się ten sam błąd, kiedy zaczynałem projekt przy użyciu pulpitu nawigacyjnego łącza przeglądarki w VS2013. Ale kiedy uruchomię mój projekt w trybie debugowania, zadziała. Nie mogłem zrozumieć, dlaczego i jak uruchomić Dashboard Link Dashboard. Sprawdziłem plik startowy, wszystko było w porządku, dodałem linię appSetting zgodnie z opisem w niektórych odpowiedziach „”, ale nic nie działało.
Najwyraźniej popełniłem błąd, klikając link NIEWŁAŚCIWY na pulpicie nawigacyjnym przeglądarki. Wszystkie łącza do projektów rozwiązań są wyświetlane w pulpicie nawigacyjnym przeglądarki, ale działa tylko łącze do projektów uruchamiania. Musisz kliknąć link projektu startowego.
Przykład: Mam 2 projekty, oba pokazane w pulpicie nawigacyjnym przeglądarki, ale tylko ten oznaczony jako projekt startowy będzie działał (pokazuje się jako pogrubiony w Eksploratorze rozwiązań). Pomyślałem, że może to pomóc komuś zrobić to, co oczywiste, kosztuje mnie 2 dni, aby natknąć się na oczywiste.
źródło
Miałem ten problem, gdy otrzymałem najnowszą wersję TFS, podczas gdy inne projekty były otwarte w wielu instancjach VS. Mam już wszystkie poprawki powyżej. Ponowne otwarcie VS naprawiło problem.
źródło
W moim przypadku zalogowałem się na serwerze ftp. Wykonano kopię zapasową bieżących plików na serwerze ftp. Usuń wszystkie pliki ręcznie z serwera ftp. Czyste rozwiązanie, ponownie wdrożono kod. Zadziałało.
źródło