tag propiedad c# web-config owin .net-assembly

propiedad tag c#



No se encontrĂ³ ensamblado que contenga un error OwinStartupAttribute (12)

Este error

Se produjeron los siguientes errores al intentar cargar la aplicación. - No se encontró ensamblado que contenga un OwinStartupAttribute. - No se encontró el tipo o método dado ''falso''. Intente especificar la Asamblea. Para deshabilitar el descubrimiento de inicio de OWIN, agregue appSetting owin: AutomaticAppStartup con un valor de "false" en su web.config. Para especificar el ensamblaje, clase o método de inicio de OWIN, agregue appSetting owin: AppStartup con la clase de inicio totalmente calificada o el nombre del método de configuración en su web.config.

aparece en mi pantalla en la página de error más fea y fea jamás creada en la historia.

He intentado seguir las instrucciones en la página insertando el owin: AutomaticAppStartup en la configuración.

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

Esto no solucionó el problema. ¿Alguna sugerencia?


Agregue este código en web.config debajo de la etiqueta como se muestra en la imagen a continuación. Su error debería desaparecer.

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


Agregue la siguiente clave en Web.config eliminará el código

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


Compruebe si tiene la clase de inicio creada en su proyecto. Esto es un ejemplo:

using Microsoft.Owin; using Owin; [assembly: OwinStartupAttribute(typeof({project_name}.Startup))] namespace AuctionPortal { public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } } }


Eliminé todas las DLL de la rama que no funcionaba, luego copié todas las DDls de mi rama que funcionaba en mi rama que no funcionaba. Esto resolvió el problema.



Para aquellos que quieran iniciar owin, <add key="owin:AutomaticAppStartup" value="false" /> no funcionará, pero lo siguiente funcionó para mí.

  1. si tiene una clase parcial "Inicio" en su archivo Startup.Auth, cree otra clase de Inicio parcial en la raíz de su proyecto.

  2. definir un atributo owinstartup de ensamblado que apunte a esa clase

  3. crear un método de "Configuración"

  4. reconstruir su aplicación

También puede crear el método de "Configuración" y agregar el atributo de ensamblaje a Startup.Auth, pero hacerlo de esta manera le permite mantener su clase de Inicio separada al aprovechar la división de definición de clase de C #. Lea más aquí: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods

Así es como se veía mi archivo 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); } } }


Quería deshacerme de OWIN en el proyecto:

  1. Eliminar referencias OWIN y paquetes Nuget del proyecto
  2. Proyecto de limpieza y reconstrucción
  3. Ejecutar aplicación

Entonces recibí el error OWIN. Estos pasos no funcionaron porque OWIN.dll todavía estaba en el directorio bin / .

FIJAR:

  1. Eliminar bin / directorio manualmente
  2. Proyecto de reconstrucción

Recibí este error porque había un espacio en blanco adicional en el código

En vez de

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

Era

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


Verifique que haya seleccionado el proyecto de inicio correcto. Tuve un proyecto de API web como inicio. Eso generó este error.


es posible que no tenga el método de configuración en la clase que mencionó en

<appSettings> <add key="owin:AppStartup" value="WebApplication1.App_Start.Startup"/>


simplemente pegue este código <add key="owin:AutomaticAppStartup" value="false" /> en Web.config No en web.config hay dos webconfig, así que asegúrese de que se pegará en Web.Config


solo reemplazando

using (WebApp.Start(url))

con

using (WebApp.Start<Startup>(url))

resuelto mi problema La clase llamada Startup ya estaba implementada. como se mencionó anteriormente por @robthedev