Ошибка «Не удалось загрузить файл или сборку».Работает на моем компьютере, но не другие - PullRequest
5 голосов
/ 04 ноября 2011

У меня есть решение с одним файлом проекта.Я развертываю как приложение ClickOnce.Все отлично работает на моем компьютере, но когда я пытаюсь запустить его на чужом компьютере, я получаю эту ошибку

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 загружено в качестве ссылки в моемпроект, и я считаю, что уместно использовать заявления, где бы они ни использовались.

Когда я захожу в свой проект Свойства> Публикация> Файлы приложения ... System.Windows.Forms.DataVisualization имеет восклицательный знак рядом с этим текстом всплывающей подсказки «Этот элемент больше не используется проектом.Если он больше не нужен, его можно удалить, щелкнув правой кнопкой мыши на элементе ".статус публикации - «Включить», а хэш - «Включить».однако, статус публикации не является «Включить (авто)»;Exclude имеет автоматический текст рядом с ним.Но при включении или исключении я получаю ту же ошибку при работе на чужой машине.

Что, по вашему мнению, я должен сделать, чтобы этот файл был правильно указан?

Спасибо

Обновление:

Я попытался установить Local Copy = true, перестроить сборку безрезультатно.

Сейчас я рассматриваю все другие предложения.(Это долгий путь между мной и компьютером, который не работает!)

Ответы [ 6 ]

15 голосов
/ 04 ноября 2011

Звучит так, будто вам нужно включить связанную загрузку в свой редист - даже если у вас есть сборка, вам, вероятно, будут отсутствовать зависимости:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14422

2 голосов
/ 23 мая 2015

переустановите MSChart.exe

это помогло мне!

2 голосов
/ 22 декабря 2011

Я знаю, что прошло много времени с тех пор, как эта проблема была опубликована, но у меня была такая же проблема, и я смог ее решить.

Чтобы запустить приложение на других машинах, я установил Microsoft Chart Controls на другие машины - просто скачав и запустив MSChart.exe на http://www.microsoft.com/download/en/details.aspx?id=14422.

1 голос
/ 04 ноября 2011

Эта конкретная проблема обсуждалась на MSDN :

http://connect.microsoft.com/VisualStudio/feedback/details/538952/clickonce-cannot-include-system-windows-forms-datavisualization-dll

Этот пост указывает на предлагаемое решение:

http://www.thehat.free -online.co.uk / MSChart /

Как правило, Fuslogvw (программа просмотра журнала Fusion) - ваш друг, понимающий, почему ссылки не могут быть загружены .NET.

Когда ведение журнала активно, стратегия, используемая для определения и разрешения зависимостей, регистрируется, и fuslogvw позволяет вам увидеть стратегию.

Запустите компьютер, на котором находится DLL, и компьютер, на котором она не найдена, и сравните результаты журнала.

0 голосов
/ 20 декабря 2014

Просто измените версию в файле web.comfig

EX: - Пространство имен = "System.Web.UI.DataVisualization.Charting" assembly = "System.Web.DataVisualization, версия = 3.5.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35"

0 голосов
/ 04 ноября 2011

Может быть, DLL находится в вашем GAC, поэтому .net найти его.Но вы не развертываете его вместе со своим приложением, и оно не удалось на других компьютерах.Что вы можете сделать, так это найти, что dll добавит его в качестве ссылки на ваш проект (потому что вы его потеряете) и убедитесь, что для параметра copy local установлено значение true.

...