私はSignalRを個々のアカウントでMVC5プロジェクトで動作させようとしています。
MVCプロジェクトにはデフォルトでOwin 2.0.0があり、Owin。*コンポーネントもすべて2.0.0です。
そこで、NuGetを使用してすべてのSignalRパッケージを取得し、依存関係を自動的に解決し、v 2.0.2をダウンロードしました。
プロジェクトは、起動時に次のメッセージを含むエラーをスローします。
ファイルまたはアセンブリ「Microsoft.Owin、Version = 2.0.1.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」をロードできませんでした
Owinを2.1.0にアップグレードしようとしましたが、それでも助けにはなりませんでした。
誰もが同じ問題に直面しており、解決策は何でしたか?
この参照を、私が見つけた最新バージョン(現在は2.1.0)に更新できます。
Install-Package Microsoft.Owin -Version 2.1.0
Install-Package Microsoft.Owin.Security -Version 2.1.0
そして、Web.configにバージョン2.1.0のこれらのバインディングリダイレクトがあることを確認してください。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
または、この参照をバージョン2.0.1に更新できます。
Install-Package Microsoft.Owin -Version 2.0.1
Install-Package Microsoft.Owin.Security -Version 2.0.1
そして、Web.configにバージョン2.0.1のこれらのバインディングリダイレクトがあることを確認してください:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
おそらく、あなたの.configでバインディングリダイレクトが必要です
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
私の場合、SignalR機能を持つWCFサービスをIIS=でホストし、IISマネージャーおよびサービスをホストしたアプリケーションに移動するとsvc
ファイルを右クリックしてBrowse
をクリックすると、このエラーが発生していました。
Visual Studioで、Tools -> Library Package Manager -> Package Manager Console
WCFサービスをホストするWebサイトプロジェクトを選択し、次の2つのコマンドを次々に指定したことを確認しました。
uninstall-package Microsoft.AspNet.SignalR
install-package Microsoft.AspNet.SignalR
この後、ソリューションを再構築します。 IISマネージャーと、サービスをホストしているアプリケーションに移動しました] svc
ファイルを右クリックしてBrowse
をクリックすると、IEで実行中のサービスを確認できました。