Сбой приложения без установленной Visual Studio - PullRequest
5 голосов
/ 30 августа 2011

Код слишком большой для отправки сюда, и я не знаю, какие части важны.Я пробовал на каждом компьютере, который у меня есть, и он не работает ни на одном из них.VS2010 компилирует код без каких-либо предупреждений или ошибок и отлично запускает приложение, а также работает нормально, если я запускаю приложение просто из ОС.Когда я помещаю его на другой компьютер, он не работает (у меня везде есть Framework 4.0, другие мои приложения работают нормально).

На моем ноутбуке (win xp) он говорит: «Программа столкнулась с проблемой и должна бытьзакрыто...".Стандартная ошибка Windows «отправить / не отправить» ничего не говорит о проблемеотлично работаетКогда я деинсталлировал VS10, он снова вылетел с массажем типа «необработанное исключение. Отладчик Just-in-Time не найден ...», опять ничего особенного в проблеме.

Мой друг принес свой ноутбук (победа 7) и никаких сообщенийпоявился, но приложения тоже нет.Он ничего не делал, ни сообщения, ни приложения, ни даже процесс не начался.Когда я нажал на иконку, курсор ожидания появился на 2 секунды, и на этом все.

Каждый раз, когда одна и та же вещь, ни одна форма не показала, что она мгновенно падает.Единственный компьютер, на котором действительно работает приложение, - это компьютер (win 7), на котором я его создаю, конечно же, с установленной Visual Studio 2010.Я считаю, что на других компьютерах отсутствуют некоторые файлы или .dll и другие ненужные файлы, которые установлены с VS2010.Есть идеи что искать?Я не могу установить VS везде, где бы она ни была, и все равно, что сказать «вам нужна Adobe Premiere для просмотра видео».

РЕДАКТИРОВАТЬ: События в Windows:

Application: Floorball.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
Stack:
   at Floorball.Interface.InitializeComponent()
   at Floorball.Interface..ctor()
   at Floorball.Program.Main()

[РЕШЕНИЕ] Ну, не совсемрешена, но мне удалось найти компонент GUI в InitializeCoponent (), который вызывает сбой.Это глупое LineShape!Я действительно не понимаю, почему это не работает должным образом везде!Так что, если у каждого тела есть подобная проблема, попробуйте это решение!

Ответы [ 6 ]

4 голосов
/ 30 августа 2011

Звучит так, будто вы пытаетесь запустить отладочную сборку на машинах без отладочных библиотек.Попробуйте скомпилировать версию выпуска и посмотрите, поможет ли это.

Приложение:

Еще одна вещь, которая может быть (но на самом деле это просто догадки без подробностей), это 64/32-битные различияЕсли программа, которую вы пытаетесь запустить, выполняет P / Invoke, это может быть проблемой.Если ваш проект настроен на работу с любым процессором, он будет работать как 64-разрядная программа в 64-разрядной ОС и 32-разрядная в 32-разрядной ОС.Попробуйте нацелиться на x86 и посмотреть, изменит ли это что-либо.

2 голосов
/ 30 августа 2011

Первые три вещи, которые приходят мне в голову:

  • Некоторые библиотеки .NET отсутствуют. Если он был скомпилирован для .NET 4, ему может потребоваться полная инфраструктура, и он находит только меньшую «клиентскую» версию. Проверьте распространяемый.
  • Отсутствуют библиотеки C ++: если это программа C ++, вам необходимо установить Redist C ++ в дополнение к .NET.
  • Отладка / выпуск: если вы компилируете в конфигурации отладки, программа будет искать библиотеки отладки .NET (и C ++), которые не устанавливаются распространяемыми пакетами. Компиляция с конфигурацией выпуска решает эту проблему.
0 голосов
/ 10 апреля 2015

Мне просто пришлось иметь дело с этой ошибкой за последние 2 дня. Оказывается, что для проекта с Target Framework, например .NET 4.0 или .NET 4.0 CP, есть некоторые библиотеки DLL, которых нет в .NET 4.5, в случае Visual Basic для моего проекта.

Проект InstallShield, который упаковывает файлы в установщик, также не может обнаружить эту зависимость.

Мой проект был проектом Visual Basic (VB6), обновленным до Visual Basic .NET (VB.net), и ему как-то требовалась библиотека DLL с именем Microsoft.VisualBasic.PowerPacks.Vs.dll, расположенная в

C:\Program Files\Reference Assemblies\Microsoft\VBPowerPacks\v10.0

Я узнал об этом только после того, как понял, что Проект работает нормально с установленной Visual Studio, но вылетает без специального предупреждения, кроме «System.IOException.FileNotFound» в журнале сбоев. Пройдя через обозреватель объектов моего проекта в Visual Studio и попробовав каждую DLL одну за другой, добавив ее в проект InstallShield LE, собрав и скопировав ее на виртуальную машину, установленную с программным обеспечением для выпуска, я смог (в конце концов) прийти к этому решению.

Надеюсь, это поможет кому-то еще там.

0 голосов
/ 21 ноября 2012

Бились с этим все утро, а теперь решили и почему это произошло.Публикация с надеждой, что это поможет другим

Я установил Krypton.Toolkit, который автоматически добавил инструменты в набор инструментов Visual Studio.Затем я добавил инструменты в конструктор, который автоматически добавил dll к ссылкам проекта, однако набор инструментов был помечен как CopyLocal = false

Я собрал установщик, используя все dll в папке сборки выпуска (конечновышеупомянутой dll там не было).

Устанавливая copylocal = true, затем перестраивая установщик, все работало нормально.

0 голосов
/ 30 августа 2011

Помимо ответов, предлагающих убедиться, что вы выполнили сборку релиза, проверьте настройки своих проектов: на вкладке Отладка в разделе «Отладчики» отключите параметр «Включить процесс размещения Visual Studio " в вашей Debug и вашей Release конфигурации.

0 голосов
/ 30 августа 2011

Попробуйте скомпилировать против профиля клиента .net4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...