Impossible de charger l'assembly System.Web.Cors après l'appel de Microsoft.Owin.Cors

Lorsque je vérifie le System.Web.Cors assemblée de référence dans l'Explorateur de solutions, le Version est 5.2.3.0. Le Specific Version propriété est définie à False. Le chemin d'accès est le projet local dossier bin. Lors de la vérification de l' .dll propriétés de l'Explorateur de Fichier, le fichier de la version du produit et la version du fichier. est également 5.2.3.

Mon Web.config:

<dependentAssembly>
    <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>

Mon paquets.config (je pense que le gênants assemblée est Microsoft.AspNet.WebApi.Corsmais j'ai inclus une autre ici avec un nom similaire):

<package id="Microsoft.AspNet.Cors" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3" targetFramework="net452" />

Erreur est levée sur cette ligne dans de Démarrage.cs

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

Voici le message d'erreur:

System.IO.FileLoadException was unhandled by user code
FileName=System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
FusionLog==== Pre-bind state information ===
LOG: DisplayName = System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///P:/project-z4a/project-z4a/
LOG: Initial PrivatePath = P:\project-z4a\project-z4a\bin
Calling assembly : Microsoft.Owin.Cors, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: P:\project-z4a\project-z4a\web.config
LOG: Using host configuration file: D:\Documents\IISExpress\config\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Attempting download of new URL file:///C:/Users/*****/AppData/Local/Temp/Temporary ASP.NET Files/root/f8163156/5c96d267/System.Web.Cors.DLL.
LOG: Attempting download of new URL file:///C:/Users/*****/AppData/Local/Temp/Temporary ASP.NET Files/root/f8163156/5c96d267/System.Web.Cors/System.Web.Cors.DLL.
LOG: Attempting download of new URL file:///P:/project-z4a/project-z4a/bin/System.Web.Cors.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
HResult=-2146234304
Message=Could not load file or assembly 'System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Source=Microsoft.Owin.Cors
StackTrace:
at Microsoft.Owin.Cors.CorsOptions.get_AllowAll()
at z4a_dsa.Startup.Configuration(IAppBuilder app) in P:\project-z4a\project-z4a\Startup.cs:line 23
InnerException: 

Donc, je peux voir qu'il s'attend à v5.0.0.0, mais je ne vois pas où, ni pourquoi l'appel pour cette version.

J'ai fait les étapes suivantes pour corriger de cette erreur. Après chaque tentatives, j'ai nettoyé, puis reconstruit le projet. L'erreur n'a pas changé après avoir essayé chacune de ces étapes.

  • Update-Package
  • Install-Package Microsoft.AspNet.WebApi.Cors
  • Uninstall-Package Microsoft.AspNet.WebApi.Corspuis Install-Package Microsoft.AspNet.WebApi.Cors
  • Uninstall-Package Microsoft.AspNet.WebApi.Corspuis Install-Package Microsoft.AspNet.WebApi.Cors -Version 5.2.3
  • Déclassé Microsoft.AspNet.WebApi.Cors à v5.0.0.0 via le Gestionnaire de paquets de la Fenêtre.

Je ne suis pas un expert en .NET encore, et c'est le 4ème occurrence de la même erreur exact avec un montage différent à chaque fois, depuis que j'ai commencé une nouvelle projet vide avec Web Api vérifié. Et j'ai installé le z4a-foundation-scaffold-auth paquet dans mon projet. J'ai vraiment apprécier quelques explications de mes lacunes dans les connaissances ici!

MODIFIER: Utilisé ILDASM.exe regarder Microsoft.Owin.Cors de l'assemblée. Trouvé-il indiqué System.Web.Cors v5.0.0.0 dans sa définition du manifeste. Je suppose que ma question est maintenant de savoir comment remédier à cela?

source d'informationauteur Caleb Faruki