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.Cors
mais 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.Cors
puisInstall-Package Microsoft.AspNet.WebApi.Cors
Uninstall-Package Microsoft.AspNet.WebApi.Cors
puisInstall-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
Vous devez vous connecter pour publier un commentaire.
S'avère System.Web.Cors.dll ne vient pas de la
Microsoft.AspNet.WebApi.Cors
paquet. Il s'agit de laMicrosoft.AspNet.Cors
paquet.Cette résolu l'erreur immédiate.
Dans le cas où vous avez un scénario dans lequel vous avez besoin de deux versions différentes de la System.Web.Cors.dllje vous suggère cette solution:
Microsoft.AspNet.Cors
à la versionMicrosoft.Owin.Cors
a demandé dans sa définition du manifeste.Microsoft.AspNet.Cors
où l' *System.Web.Cors.dll** réside.gacutil -i System.Web.Cors.dll
.Microsoft.AspNet.Cors
retour à la version que vous vouliez à l'origine.Cette méthode tire la version désirée de la .fichier dll dans votre Solution de dossier packages. Ensuite, vous utilisez
gacutil.exe
pour ajouter cette version de la .dll à votre Global Assembly Cache. Visual Studio sondes pour le choix .versions de dll premier dans le GAC, puis dans votre projet local.exécuter cette commande en PM (gestionnaire de paquets)
Install-Package Microsoft.AspNet.La Scro -Version 5.2.3.0