Estou recebendo esse erro, pois meu projeto não consegue encontrar a referência para a OWIN
classe de inicialização. Até instalei todos os pacotes de referência do OWIN por meio do Nuget ainda com o mesmo problema. Eu estou usando Visual Studio 2012
e MVC4
.
Os seguintes erros ocorreram ao tentar carregar o aplicativo.
- Nenhum assembly encontrado contendo um OwinStartupAttribute.
- Nenhum assembly encontrado contendo uma classe Startup ou [AssemblyName] .Startup. Para desativar a descoberta de inicialização do OWIN, adicione appSetting owin: AutomaticAppStartup com o valor "false" no seu web.config. Para especificar a montagem, classe ou método de inicialização do OWIN, adicione appSetting owin: AppStartup com a classe de inicialização totalmente qualificada ou o nome do método de configuração em seu web.config.
c#
asp.net-mvc-4
visual-studio-2012
owin
Krunal Patil
fonte
fonte
Startup.cs
no projeto?OwinStartupAttribute
? Será que o seu conjunto umStartup
ou[AssemblyName].Startup
classe? Você desabilitou a descoberta de inicialização do OWIN, adicionando o appSettingowin:AutomaticAppStartup
com o valor "false" no seu web.config? Você já fez uma dessas coisas e está se perguntando por que não está funcionando? Qual a sua pergunta?Respostas:
Criar uma classe com inicialização de nome isso ajudará você ..
fonte
<appSettings>
área, como:<add key="owin:AppStartup" value="[NameSpace].Startup" />
[assembly:OwinStartupAttribute(typeof(Identity_Test.Startup))]
emAssemblyInfo.cs
também funcionaria.[assembly: OwinStartup(typeof([YourStartupNamespaceName].Startup))]
Em nosso projeto, como não precisamos da funcionalidade OWIN, removemos todas as referências owin do projeto de modelo inicial do ASP.NET MVC. O problema ocorreu após a remoção da classe de inicialização OWIN.
O problema foi o dll owin extra na minha pasta bin. Quando os apaguei, o problema foi resolvido. Você deve excluí-los excluindo a pasta bin. Solução Limpa não exclui essas DLLs.
De alguma forma, o IIS ainda executa as DLLs do OWIN quando estão na pasta bin.
fonte
<add key="owin:AutomaticAppStartup" value="false"/>
como um appSetting. Apenas alguns conselhos para as pessoas que tentam isso e ainda não obtiveram sucesso.No Visual Studio 2013 RC2, há um modelo para isso. Basta adicioná-lo à pasta App_Start.
O modelo produz essa classe:
fonte
Se você não deseja usar a inicialização do OWIN, é isso que você deve adicionar ao seu arquivo web.config :
Em AppSettings, adicione a seguinte linha:
É assim que deve aparecer no seu web.config:
fonte
Dê uma olhada no
Startup.cs
arquivo, pode estar faltando um deles. Este arquivo é o ponto de entrada do OWIN, portanto parece que está faltando. Dê uma olhadaOWIN Startup class
aqui para entender o que está acontecendo.Como seu erro especifica, você pode desativá-lo no web.config, fazendo o seguinte ...
fonte
<add key="owin:AutomaticAppStartup" value="false" />
ao<appSettings>
grupo e o Startup.cs não era mais necessário.<add key="owin:AutomaticAppStartup" value="false" />
? Desabilitará alguma funcionalidade? Precisamos iniciar o aplicativo posteriormente para poder usar qualquer funcionalidade OWIN?Primeiro, você deve criar seu arquivo de inicialização e depois especificar o código do idioma no arquivo web.config, dentro da tag appSettings com esta linha:
<add key="owin:AppStartup" value="[NameSpace].Startup"/>
Isso resolveu meu problema.
fonte
Eu tive esse problema, entenda que não é o que estava errado no caso do OP, mas no meu caso eu tinha uma classe Startup, simplesmente não a encontrava por padrão.
Meu problema era que eu tinha espaços no meu Nome do Assembly e, portanto, o espaço para nome padrão era diferente do nome do assembly; portanto, o espaço para nome da classe de inicialização era diferente do nome do assembly.
Como o erro sugere, por convenção, ele procura [Assembly Name] .Iniciar a classe ... portanto, verifique se o espaço para nome da sua classe Startup é o mesmo que o nome do Assembly. Corrigido o problema para mim.
fonte
Tentei a maioria das correções recomendadas aqui e ainda não pude evitar a mensagem de erro. Finalmente, realizei uma combinação de algumas soluções recomendadas:
Adicionada esta entrada na parte superior da
AppSettings
seção do meu web.config :<add key="owin:AutomaticAppStartup" value="false"/>
Expandiu o nó Referências do meu projeto e excluiu tudo o que continha a sequência
OWIN
. (Eu me senti seguro fazendo isso, já que minha organização não é (e não será) um provedor ativo de OWIN no futuro)Cliquei
Run
e minha página inicial foi carregada.fonte
No meu caso, renomeei o projeto e alterei sua estrutura de pastas. Descobri que atualizar o RootNameSpace e AssemblyName no arquivo .csproj em que o erro estava sendo lançado resolveu o erro. Se você modificou os caminhos do seu projeto, eu recomendo verificar isso também.
fonte
O meu caso? Eu tinha um arquivo de inicialização, mas ele foi excluído no projeto. Acabei de incluí-lo e o erro foi deixado.
fonte
Isso também pode ser enfrentado no Visual Studio 2015 quando você usa o Azure AD com um projeto MVC. Aqui, ele cria o arquivo de inicialização como Startup.Auth.cs na pasta App_Start, mas estará faltando o
Então adicione-o e você deve estar pronto. Isso ocorre antes do início do namespace.
fonte
Também é possível obter essa exceção (mesmo quando você tem uma classe de inicialização configurada corretamente) se estiver executando o IIS Express e seu diretório virtual não estiver configurado corretamente.
Quando encontrei esse problema, a resolução era simplesmente pressionar o botão 'Criar diretório virtual' na guia 'Web' das propriedades do projeto (usando o Visual Studio 2013)
fonte
Você está realmente tentando adicionar OWIN ao seu projeto ou isso é algo inesperado?
Caso você queira adicionar OWIN, adicionar uma classe de inicialização é o caminho a percorrer.
Caso você não precise de nenhuma referência a Owin :
excluir Owin.dll da sua pasta / bin .
Owin.dll é quem está tentando identificar a classe Startup.
fonte
Embora eu não possa explicar completamente por que isso resolveu o problema para mim, eu me deparei com um problema como este depois de alterar meu projeto de API para criar para separar
\debug
e\release
pastas. Uma vez reverti essa alteração novamente para criar em uma única\bin
pasta, as coisas começaram a funcionar.Eu escrevi minha experiência aqui: Não é possível obter a classe de inicialização OWIN para executar no IIS Express após renomear o arquivo de projeto do ASP.NET
fonte
Eu me deparei com esse problema depois de experimentar o SignalR e removê-lo do projeto. Para resolver, tive que excluir o conteúdo da pasta bin do site no servidor remoto e depois publicar novamente.
fonte
Basta verificar se o seu
packages.config
arquivo está registrado (quando excluído, haverá um símbolo vermelho de não entrada mostrado no explorer). Por algum motivo bizarro, o meu foi excluído e causou esse problema.fonte
Continuei recebendo o mesmo erro quando iniciei meu projeto usando o Painel de Link do Navegador no VS2013. Mas, quando eu executei meu projeto no modo de depuração, ele funcionaria. Não consegui descobrir por que e como fazer o Painel do Link do Navegador funcionar. Eu verifiquei o arquivo de inicialização, tudo bem, adicionei a linha appSetting conforme descrito em algumas das respostas "", mas nada funcionou.
Aparentemente, o que eu estava fazendo de errado foi clicar no link ERRADO no painel do navegador. Todos os links de projetos de soluções são exibidos no Painel do navegador, mas apenas o link de projetos de inicialização funciona. Você precisa clicar no link do projeto de inicialização.
Exemplo: tenho dois projetos, ambos exibidos no Painel do navegador, mas apenas o marcado como o projeto de inicialização funcionará (mostrado em negrito no Solution Explorer.) Pensei que isso poderia ajudar alguém a fazer o óbvio, me custou 2 dias para tropeçar no óbvio.
fonte
Eu tive esse problema quando obtive a versão mais recente do TFS enquanto outros projetos estavam abertos em várias instâncias do VS. Eu já tenho todas as correções acima. A reabertura do VS corrigiu o problema.
fonte
No meu caso, entrei no servidor ftp. Fez backup dos arquivos atuais no servidor ftp. Exclua todos os arquivos manualmente do servidor ftp. Solução limpa, reimplementou o código. Funcionou.
fonte