FileLoadException sur 'Microsoft.Owin'
-
23-12-2019 - |
Question
J'ai donc installé SignalR via Nuget et cela dépend de Microsoft.Owin
qu'il a ensuite installé.Chaque fois que j'exécute mon application, un message s'affiche FileLoadException
dans le Startup.cs du app.MapSignalR();
doubler.Il indique "Le fichier ou l'assembly 'Microsoft.Owin, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou l'une de ses dépendances n'a pas pu être chargé.La définition manifeste de l'assembly trouvé ne correspond pas à la référence de l'assembly."
Je suis sûr que cela inclut le Microsoft.Owin.dll
mais quand j'essaie de le réinstaller via Nuget, il dit qu'il n'a pas pu réinstaller Microsoft.Owin.XML
Démarrage.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
}
La solution
La dernière version de SignalR repose sur Microsoft.Owin 2.0.2.0 et non sur 2.0.1.0.Consultez le didacticiel suivant : vous souhaiterez ajouter Microsoft.AspNet.SignalR.SelfHost dans le gestionnaire de packages, pas Microsoft.Owin.
Autres conseils
Parfois, les packages font référence à des versions spécifiques d’autres packages.Vous pouvez essayer d'ajouter une redirection de liaison pour Microsoft.Owin
dans ton web.config
fichier (dans le <runtime>
section):
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
Cela indique tout ce qui fait référence à une version plus ancienne que 2.1.0.0
utiliser 2.1.0.0
plutôt.