web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly Microsoft.Owin 3.0.0 à 3.0.1

Problème de dépendance intéressant ...

VS2015.3, .NET45 mettant à jour Microsoft.Owin de 3.0.0 à 3.0.1 (le problème était lié à cette mise à jour - vouloir installer https://www.nuget.org/packages/IdentityServer3.AccessTokenValidation/ )

enter image description here il fonctionne localement sur IIS Express

mais publier sur le site Web Azure: (je supprime les fichiers supplémentaires à la destination sur Azure directement à partir de VS). redémarré et supprimé tous les fichiers du serveur Web Azure également.

enter image description here

traduction web.config semble bien

<dependentAssembly>
   <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
   <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />   
</dependentAssembly>

Éditer La réponse de Bruce Chen m'a orienté dans la direction de Kudu (Azure - Outils de développement, Outils avancés)

enter image description here

J'ai téléchargé la dll Owin, et c'était la mauvaise version, par exemple 3.0.0

Pour résoudre ce problème, j'ai effacé tous les artefacts de paquet de ma solution.

git clean -xfd (attention)

Puis reconstruit

4
Dave Mateer

Impossible de charger le fichier ou l'assembly 'Microsoft.Owin, version = 3.0.1.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' ou l'une de ses dépendances. La définition du manifeste de l'Assemblée localisée ne correspond pas à la référence de l'Assemblée.

En général, cela signifie que le chargeur .NET Assembly n'a pas pu trouver l'assembly avec la version spécifique référencée. Assurez-vous que cet assembly avec la version 3.0.1.0 est disponible sur votre site Web Azure et que la version correspond à la définition de votre fichier web.config via KUDU ou un client FTP. 

Comme vous l'avez dit, cela fonctionne localement sur IIS Express. Essayez de déployer manuellement le contenu de votre site Web sur Azure via un client KUDU ou FTP et découvrez si cela fonctionne ou non.

1
Bruce Chen

J'ai également perdu quelques heures à ce sujet car la référence installée par nuget avait la version 3.0.0 malgré le paquetage nuget étiqueté 3.0.1

Rendre l'ancienne version plus récente que la nouvelle version a résolu mon problème:

      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.0.0"/>
      </dependentAssembly>

* Edit: je pense (mais pas avec certitude) que la version 3.0.0.0 de ma version était toujours due au fait que le dossier bin était bloqué dans mon référentiel et que le nuget ne voulait pas écrire sur la DLL

2
vsmash

Si vous utilisez Visual Studio, cliquez avec le bouton droit de la souris sur le projet -> Gérer les packages NuGet -> Mises à jour -> sélectionnez le nuget Owin -> Cliquez sur "Mise à jour". À ce jour, la dernière version est 4.0.0. J'espère que tout se passera bien!

0
Sen Alexandru