'Microsoft.Owin'의 FileLoadException
-
23-12-2019 - |
문제
그래서 Nuget을 통해 SignalR을 설치했으며 이는 다음에 따라 달라집니다. Microsoft.Owin
그런 다음 설치되었습니다.내 응용 프로그램을 실행할 때마다 FileLoadException
Startup.cs에서 app.MapSignalR();
선."파일 또는 어셈블리 'Microsoft.Owin, 버전=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 또는 해당 종속성 중 하나를 로드할 수 없습니다.발견된 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다."
나는 그것이 다음을 포함한다고 확신합니다. Microsoft.Owin.dll
하지만 Nuget을 통해 다시 설치하려고 하면 Microsoft.Owin.XML을 다시 설치할 수 없다는 메시지가 나타납니다.
Startup.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
}
해결책
SignalR의 최신 버전은 2.0.1.0이 아닌 Microsoft.Owin 2.0.2.0을 사용합니다.다음 자습서를 참조하세요. 패키지 관리자에 Microsoft.Owin이 아닌 Microsoft.AspNet.SignalR.SelfHost를 추가하는 것이 좋습니다.
다른 팁
때때로 패키지는 다른 패키지의 특정 버전을 참조합니다.다음에 대한 바인딩 리디렉션을 추가해 볼 수 있습니다. Microsoft.Owin
당신의 web.config
파일( <runtime>
부분):
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
이는 이전 버전을 참조하는 모든 것을 알려줍니다. 2.1.0.0
사용 2.1.0.0
대신에.