“Impossible de charger le fichier ou l'assembly” Erreur. Fonctionne sur mon ordinateur, mais pas d'autres
J'ai une solution avec un seul fichier de projet. Je suis le déploiement d'une application ClickOnce. Tout fonctionne très bien et bien sur mon ordinateur, mais lorsque j'essaie de le lancer sur quelqu'un d'autre, j'obtiens cette erreur
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
System.Windows.Forms.DataVisualization
est en facette chargé comme une référence dans mon projet et je crois qu'il est approprié à l'aide des déclarations à l'endroit où il est utilisé.
Quand je vais à mon projet de Propriétés>Publier>Fichiers de l'Application... Système.De Windows.Les formulaires.DataVisualization a un point d'exclamation à côté de l'info-bulle de texte de "Cet objet n'est plus référencé par le projet. Si il n'est plus nécessaire, il peut être enlevé par un clic droit sur l'élément." l'état de publication est "comprendre" et de la valeur de Hachage est "Comprennent." l'état de publication n'est pas, cependant, "Include (auto)"; Exclure a l'auto de texte à côté d'elle. Mais si je inclure ou d'exclure, je reçois le même message d'erreur lors de l'exécution sur quelqu'un d'autre de la machine.
Ce que vous pensez que je doit faire pour obtenir ce fichier pour être bien référencé?
Grâce
Mise à jour:
J'ai essayé de réglage de la Copie Locale = true, de construire, de reconstruire en vain.
Je suis passer par toutes les autres suggestions maintenant. (C'est une longue marche entre moi et l'ordinateur qui ne fonctionne pas!)
- Sonne comme la dll n'est pas là où vous pensez qu'elle est. Êtes-vous certain de l'emplacement? Avez-vous essayé de la suppression de la référence et de ré-ajouter?
- Votre projet est de 3,5?
- Avez-vous essayé d'installer .Net 3.5 sur une des machines, c'est-à avoir le problème? Si oui, je pense que vous devez redistribuer
System.Windows.Forms.DataVisualization
avec votre application, parce que je pense qu'il pourrait ne pas être une partie de la base .Net Framework. Google semble corroborer mes pensées... - Mon projet est de 3,5. Le projet a été lancé dans VS2008 Express et maintenant nous avons propre VS2010. Je pensais le garder comme de 3,5 à minimiser les choses qui pourraient aller mal, mais cela semble être un effet secondaire, peut-être?
- Une autre solution serait de mise à niveau .Net 4.0, depuis le tableau de contrôle a été incorporé dans le noyau .Net framework en 4.0
- Pour info, environ un an plus tard, c'est exactement ce qui s'est passé. Il a le droit d'appeler pour plus d'une raison.
Vous devez vous connecter pour publier un commentaire.
Sons comme vous avez besoin de les télécharger dans le dans votre redist - même si vous avez l'assemblée, vous allez probablement être dépendances manquantes:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14422
Je sais qu'il a été un moment depuis que ce problème a été posté, mais je viens d'avoir le même problème et a réussi à la résoudre.
Afin d'exécuter l'application sur d'autres machines, j'ai installé Microsoft Chart Controls sur les autres machines - juste en téléchargeant et en exécutant l'MSChart.exe au http://www.microsoft.com/download/en/details.aspx?id=14422.
réinstaller MSChart.exe
cela m'a aidé!
Cette question a été discutée sur MSDN:
http://connect.microsoft.com/VisualStudio/feedback/details/538952/clickonce-cannot-include-system-windows-forms-datavisualization-dll
Que le post de points de la solution proposée:
http://www.thehat.free-online.co.uk/MSChart/
Généralement, Fuslogvw (fusion visionneuse du journal) est votre ami comprendre pourquoi les références ne peuvent pas être chargés par .NET.
Lors de la connexion est active, la stratégie utilisée pour résoudre les dépendances est connecté et fuslogvw vous permet de voir la stratégie.
Exécuter sur l'ordinateur où le fichier DLL est trouvé et l'ordinateur où il n'est pas trouvé et de comparer les résultats du journal.
Peut-être que la dll est dans votre GAC donc .net trouver. Mais vous n'avez pas le déployer votre application et il a échoué sur d'autres ordinateurs. Ce que vous pouvez faire est de trouver la dll de l'ajouter comme une référence à votre projet (parce que vous l'avez perdu) et s'assurer que la copie locale est définie sur true.
Il suffit de Changer de version le web.comfig fichier
EX:-
namespace="System.Web.L'INTERFACE utilisateur.DataVisualization.Cartographie"
assembly="le Système de.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"