2016-07-20 9 views
0
  1. 私のソリューションproject1とproject2には2つのプロジェクトがあります。
  2. Project2はOwinと自己ホストする傾向があります。
  3. 私はMicrosoft.Owin.Corsパッケージを使用してCORSを有効にしています。
  4. 両方のプロジェクトには、Microsoft.OWIN 3.0.1Microsoft.AspNet.Cors 5.2.3があります。
  5. 次に、私のproject2.exeをproject1のデバッグフォルダにコピーし、project1から prorject2.exeを呼び出します。
  6. 次に、project2.exeを呼び出すときに例外ボックスが表示されます。Owinパッケージのバージョン競合

  7. System.Web.Corsバージョン5.0.0.0 アセンブリが必要です。

  8. 私はMicrosoft.AspNet.Cors 5.0.0.0 にダウングレードすると、それが再び は、Microsoft.Owinバージョン2.0.2を必要と述べています。

なぜこのようなことが起こりますか、このバージョンの競合を解決するにはどうすればよいですか?両方のプロジェクトは.Net Framewrok 4.5.2で構築されています。

答えて

0

競合を解決するには、使用するOWINのバージョンをコードに伝える必要があります。これはアプリケーションのapp.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> 
関連する問題