Impossible de charger le fichier ou l'assembly “du Système.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
J'ai copié mon projet à un nettoyage de Windows 10 machine avec Visual Studio 2015 de la Communauté et SQL Server 2016 Express est installé. Il n'y a pas d'autres versions framework installé en dehors de ceux qui sont installés avec Windows 10 et VS2015 ou SQL Server.
Lorsque je tente de démarrer le WebApi projet, j'obtiens le message:
N'a pas pu charger le fichier ou l'assembly "du Système.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Le projet de forfaits comprennent:
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Tracing" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
Après la construction du projet .NET Framework 4.6.1, System.Net.Http
le fichier n'est pas trouvé dans le bin
dossier.
Le chemin d'accès du fichier de points à:
C:\Program Files (x86)\de Référence Assemblies\Microsoft\Framework.NETFramework\v4.6.1\System.Net.Http.dll
Le chemin d'accès du fichier de System.Net.Http.Formatting
points:
C:\Development\MyApp\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll
Devraient l'ensemble de la cible du projet 4.5.1 ou est-il une autre façon de référence le droit d'assemblées?
- avez-vous essayé de réinstaller l'Api Web de package NuGet ?
- connexes : stackoverflow.com/questions/19491860/...
- Essayé toutes les propositions de réponses de la question. Rien ne fonctionne jusqu'à présent. J'ai aussi couru
update-package xxx -reinstall
pour tous les packages nuget je suis en utilisant. Il ne fonctionne pas non plus. - Connexes l'Héritage des règles de la sec violé par type: 'Système.Net.Http.WebRequestHandler'.
- Seulement cela , me remercier plus tard stackoverflow.com/questions/50536842/...
Vous devez vous connecter pour publier un commentaire.
Changer les informations de liaison dans mon web.config (ou de l'application.config) - tout en un "hack" de mon point de vue, vous permet de vous déplacer vers l'avant avec votre projet après une NuGet package de mise à jour de frappe de votre application et vous donne le Système.Net.Erreur Http.
Ensemble nouvelleversion="4.0.0.0"
Suivez les étapes suivantes,
web.config
Ajouter à la
.csproj
fichier:bin
dossier il doit y avoir un(WebAppName).dll.config
fichierweb.config
.csproj
fichierIl devrait fonctionner
Dans un de mes projets, il y avait un nuget packages avec une version plus récente du Système.Net.Http. et dans mon projet de démarrage il y a référence au Système.Net.Http v 4.0.0 , je viens d'installer Système.Net.Http package nuget dans mon projet de démarrage et le problème résolu
A
,B
etC
.A
est le démarrage du projet, et n'a rien à voir avec laB
ouC
.C
est un projet de test pourB
. L'exécution de mes tests dansC
échoué, parce que je n'ai pas la référence (Système d'.Net.Http) projetA
avait.Si vous avez plusieurs projets dans votre solution, puis cliquez-droit sur l'icône de la solution dans Visual Studio et sélectionnez "Gérer les Packages NuGet pour la Solution", puis cliquez sur le quatrième onglet "Consolident" pour regrouper tous vos projets à la même version de la Dll. Cela vous donnera une liste des assemblys référencés à consolider. Cliquez sur chaque élément dans la liste, puis cliquez sur installer dans l'onglet qui s'affiche à droite.
Changement suivant:
avec les éléments suivants:
dans le web.config
Ci-dessus bind-redirection ne fonctionne pas pour moi, donc j'ai commenté la référence à
System.Net.Http
dansweb.config
. Tout semble fonctionner sans elle.Vous pouvez résoudre ce problème par la mise à niveau de votre projet .NET Framework 4.7.2. C'était répondu par Alex Ghiondea - MSFT. S'il vous plaît aller upvote lui car il a vraiment le mérite!
J'ai le même problème et la seule façon que je suis en mesure de le réparer, c'est d'ajouter bindingRedirect app.confing comment écrit @tripletdad99.
Mais si vous avez la solution avec plus de projet est vraiment sucer mise à jour de chaque projet par la main (et parfois aussi après la mise à jour de certains de package nuget vous avez besoin de le faire à nouveau). Et c'est la raison pourquoi j'ai écrit ce simple script powershell qui, si toutes les applications.les configs.
Exemple, comment utiliser:
Probablement, il n'est pas parfait et aussi, il sera mieux si quelqu'un a un lien pour la pré-tâche de génération.
Cela fonctionne dans .NET 4.7.2 avec Visual Studio 2017 (15.9.4):
J'ai eu cela, mais, c'était parce que j'avais ajouté un package NuGet qui avait mis à jour la liaison des redirections. Une fois que j'ai enlevé l'emballage, les redirections sont toujours là. J'ai enlevé tous les d'eux, et puis a couru update-package -réinstaller. Cela a ajouté de la bonne redirections.
Vérifier .net framework version.
Mon original .net framework est une version plus ancienne.
Après que j'ai installé .net framework 4.6, cette question est automatiquement résolu.
Pour moi, j'avais mis mon projet à exécution sur la dernière version de .Net Framework (un changement de .Net Framework 4.6.1 pour 4.7.2).
Tout a fonctionné, pas d'erreurs et publié sans problème, et c'est seulement par hasard que je suis tombé sur le Système.Net.Message d'erreur Http, montré dans un petit, dur-à-avis, mais tout à fait important de la demande d'API sur le site, je suis en train de travailler sur.
J'ai roulé en arrière pour 4.6.1 et tout est rentré dans l'ordre.