OwinStartupAttribute 오류가 포함 된 어셈블리를 찾을 수 없습니다.


87

이 오류

앱을로드하는 동안 다음 오류가 발생했습니다. -OwinStartupAttribute를 포함하는 어셈블리가 없습니다. -주어진 유형 또는 방법 'false'를 찾을 수 없습니다. 어셈블리를 지정해보십시오. OWIN 시작 검색을 비활성화하려면 web.config에서 값이 "false"인 appSetting owin : AutomaticAppStartup을 추가합니다. OWIN 시작 어셈블리, 클래스 또는 메서드를 지정하려면 web.config에서 정규화 된 시작 클래스 또는 구성 메서드 이름과 함께 appSetting owin : AppStartup을 추가합니다.

역사상 가장 못생긴 오류 페이지에 내 화면에 나타납니다.

여기에 이미지 설명 입력

구성에 owin : AutomaticAppStartup을 삽입하여 페이지의 지침을 따르려고했습니다.

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

이것은 문제를 해결하지 못했습니다. 어떤 제안?


6
대신에 <add key="owin:AppStartup" value="false"></add>당신은 시도 할 수 <add key="owin:AutomaticAppStartup" value="false"></add>와 그 작품 있는지? 또한, 도움이되는 몇 가지 링크 : OWIN 시작 클래스 탐지Owin은 Web.config의에서 시작 최고 (자동 시작 검색을) 제공
Keyur 파텔

그게 속임수였습니다. 또한 자원에 감사드립니다. 감사합니다 @KeyurPATEL.
NVA

2
내가 생각하는 당신이 startup.cs 누락 파일
Kurkula

2
Kurkula는 절대적으로 옳습니다. ASP.net 인증 시스템을 설치하지 않았습니다. 프로젝트의 루트에 startup.cs 파일이 전혀 없습니다. 이 코드를 파일에 넣습니다 .------------- using Microsoft.Owin; Owin 사용; [어셈블리 : OwinStartupAttribute (typeof (YOURPROJECT.Startup))] 네임 스페이스 YOURPROJECT {공개 부분 클래스 시작 {public void Configuration (IAppBuilder 앱) {ConfigureAuth (app); }}}
파라 Parmar

답변:


171

아래 이미지와 같이 태그 web.config아래 에이 코드를 추가하십시오 <configuration>. 그러면 오류가 사라집니다.

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

아래 이미지 확인


4
이것이 해결책이거나 적어도이 해결책이 내 문제를 해결했습니다. 답을 해결책으로 표시하십시오. 이것은 맨 위에 있어야합니다 ...
Mason

1
감사합니다, 이것은 효과가 있었지만 누군가이 설정 값을 false로 설정하여 내가 잃어버린 것을 말할 수 있습니까?
IKriKan 2018

83

프로젝트에서 OWIN을 제거하고 싶었습니다.

  1. 프로젝트에서 OWIN 참조 및 Nuget 패키지 삭제
  2. 프로젝트 정리 및 재건
  3. 앱 실행

그런 다음 OWIN 오류가 발생했습니다. OWIN.dll이 여전히 bin / 디렉토리에 있었기 때문에이 단계는 작동하지 않았습니다 .

고치다:

  1. bin / 디렉토리를 수동으로 삭제
  2. 프로젝트 재 구축

12
롤 - 빈과 OBJ 폴더를 삭제하면 이상한 의존성 오류에 대한 수정 항상
matt.fc

4
나는 이전에 SignalR 너겟을 다운로드하여 사용해 보았는데, 차례로 owin 너겟을 추가했습니다. 패키지가 삭제되었지만 작동하려면 bin 폴더도 삭제해야했습니다.
mortb

SignalR을 설치하고 노력을 중단 한 후 여기에 왔습니다. 감사합니다.
John Gerdsen

쉽고 빠릅니다. 나를 위해 일했습니다
Dash

패키지 owin 제거는 물론 도움이 될 것입니다 또는 참조에서 그들과 함께 owin 가진 모든 DLL을 제거하는 데 도움이됩니다
Heemanshu Bhalla에게

23

owin이 시작되기를 원하는 사람들에게는 <add key="owin:AutomaticAppStartup" value="false" />작동하지 않지만 다음은 나를 위해 일했습니다.

  1. Startup.Auth 파일에 부분 클래스 "Startup"이있는 경우 프로젝트의 루트에 다른 부분 시작 클래스를 만듭니다.

  2. 해당 클래스를 가리키는 어셈블리 owinstartup 속성 정의

  3. "구성"메소드 생성

  4. 응용 프로그램을 다시 빌드

"Configuration"메서드를 만들고 어셈블리 특성을 Startup.Auth에 추가 할 수도 있지만 이렇게하면 C # 클래스 정의 분할을 활용하여 Startup 클래스를 분리 할 수 ​​있습니다. 자세한 내용은 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods를 참조하십시오.

내 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);
        }
    }
}

이것은 나를 위해 일했고 프로젝트 이름에 점이있을 때 이것이 발생한다는 것을 깨달았습니다. 따라서 네임 스페이스가 "namespace ProjectNameSpace.ApiRest"와 같은 경우 예제와 같이 어셈블리를 정의하면 문제가 해결됩니다.
karique


6

에서 언급 한 클래스에 구성 방법이 없을 수 있습니다.

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


3

코드에 추가 공백이 있었기 때문에이 오류가 발생했습니다.

대신에

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

그것은

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


3

프로젝트에 Startup 클래스 가 있는지 확인하십시오 . 다음은 예입니다.

using Microsoft.Owin;
using Owin;

[assembly: OwinStartupAttribute(typeof({project_name}.Startup))]

namespace AuctionPortal
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
    }
}

ASP.net ID를 활용합니다. 이것이 해결책입니다.
Paras Parmar

2

그냥 교체

        using (WebApp.Start(url))

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

내 문제를 해결했습니다. Startup이라는 클래스가 이미 구현되었습니다. @robthedev가 위에서 언급했듯이


2

Web.config에 다음 키를 추가하면 코드가 제거됩니다.

<appSettings>

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

1

올바른 시작 프로젝트를 선택했는지 확인하십시오. 웹 API 프로젝트를 시작했습니다. 이로 인해이 오류가 발생했습니다.


1

이 게시물이 오래되었다는 것을 알고 있지만 누군가 동일한 오류를 찾고있는 경우를 대비하여

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

태그 뒤 <appSettings>

그리고 나중에 다음 오류가 표시되면 :

HTTP 오류 401.0-권한이없는 오류 메시지

태그 뒤에 다음 코드를 추가하면 <system.web>처음에있을 수 있습니다.

<authentication mode="Forms"> <forms loginUrl="~/YourFolderName/yourFileName" timeout="1" /> </authentication>

제 경우는 다음과 같습니다.

<authentication mode="Forms"> <forms loginUrl="~/Login/Index" timeout="1" /> </authentication>


0

작동하지 않는 분기에서 모든 DLL을 삭제 한 다음 분기에서 작동하지 않는 분기에서 모든 DDls를 복사했습니다. 이것은 문제를 해결했습니다.


0

이 코드 <add key="owin:AutomaticAppStartup" value="false" /> 를 Web.config에 붙여 넣으십시오 . web.config에는 두 개의 webconfig가 있으므로 Web.Config에 붙여 넣으십시오.


0

시그널 러를 사용하려면 프로젝트에 startup.cs 클래스를 추가 해야합니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 새 항목을 추가하고 OWIN 시작 클래스를 선택합니다.

그런 다음 구성 방법 내부에 아래 코드 추가

app.MapSignalR();

나는 그것이 당신에게 유용하기를 바랍니다


0

다음 코드를 사용하여 Startup.cs 클래스 를 프로젝트의 루트에 추가 합니다.

using Microsoft.Owin;
using Owin;

[assembly: OwinStartupAttribute(typeof(ProjectName.Startup))]
namespace ProjectName
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
    }
}

0

Azure에 배포하는 경우이 오류가 발생합니다. 사이트의 모든 파일을 삭제하고 (web.config, appsettings.json 또는 손실하지 않으려는 모든 파일을 백업) 다시 배포하면됩니다. 사이트에 있으면 안되는 dll 파일이 일부 남아 있으므로 Azure Portal은 OWIN을 사용해야한다고 생각합니다.


0

web.config 파일에 아래 코드를 추가 한 다음 프로젝트를 실행하십시오.

    <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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.