Войти
ПрограммированиеФорумОбщее

.NET Framework. Собранная программа не запускается на другом компьютере

Страницы: 1 2 3 4 5 Следующая »
#0
10:44, 22 фев. 2018

Всем доброго утра!

В Visual Studio Community 2017 создал Приложение WPF (.NET Framework) на языке C#. Сделал Release сборку и отправил полученный исполняемый файл другу. Но у него программа отказалась запускаться, выдала сообщение "This application could not be started". Версия студии на тот момент у меня была 15.5.6, а приложение я писал используя .NET Framework 4.6.1. У друга операционная система Windows 10 (редакция Home). На следующий день студия обновилась до версии 15.5.7 и я снова собрал данное приложение, а заодно ещё два приложения чистых WPF проектов. В итоге я получил три программы:

  1. Empty_3.5.exe - чистый WPF проект на C# используя .NET Framework 3.5
  2. Empty_4.6.1.exe - чистый WPF проект на C# используя .NET Framework 4.6.1
  3. Test.exe - прошлое приложение на C# использующее .NET Framework 4.6.1

Попробовал запустить программы на другом компьютере с установленной Windows 10. Все программы успешно запустились. Вечером прислал их другу, а у него они не заработали. Вот что выскакивает когда запускаешь Empty_3.5.exe:

Изображение

Я не понимаю что это за кнопки, но одна закрывает окно, а другая должна дать больше информации. Однако при нажатии на кнопку с информации, там появляется ещё какое-то окно с ошибкой и текстом что-то про Google Chrome (видимо не может открыть страничку с описанием ошибок через браузер, почему-то).

Вообще на его компьютере установлены .NET Framework'и (если верить включённым компонентам Windows). Стоят галочки на против пунктов .NET Framework 3.5 (включает .NET 2.0 и .NET 3.0) и .NET Framework 4.7 с дополнительными службами. Почему тогда приложения не работают?


#1
11:11, 22 фев. 2018

Проверьте битность приложения. Ошибка означает что ОС не может найти .net подходящей битности.

#2
11:39, 22 фев. 2018

Walter Sullivan
> Проверьте битность приложения. Ошибка означает что ОС не может найти .net подходящей битности.
Вообще при сборке использовалась конфигурация "Any CPU" и на сколько я помню, автоматически в настройках выставляется предпочтение для x86. А у друга x64 система, так что не должны быть проблемы. Не?

#3
13:25, 22 фев. 2018

Вообще хз, но
попробуй дебаг версию
попробуй понизить версию фреймворка

Вообще интуиция мне подсказывает что все может быть не так  просто как кажется

#4
13:40, 22 фев. 2018

Это, всё таки, версия фреймворка не совпадает/не детектится на целевой машине. Попробуй положить *.exe.config файлы вместе с exe из Debug/Release

#5
14:01, 22 фев. 2018

0iStalker
> Попробуй положить *.exe.config файлы вместе с exe из Debug/Release
Вечером посмотрим что из этого выйдет. Но не думал что вместе с программой ещё и дополнительный файл всегда таскать нужно.

s3dworld
> и на сколько я помню, автоматически в настройках выставляется предпочтение для x86
А нет, предпочтение автоматически отдаётся не x86.

#6
14:23, 22 фев. 2018

У него винда обновляется? Не все релизы десятой винды поддерживают дотнет 4.7. Обновление должно помочь.

#7
14:58, 22 фев. 2018

Zab
> У него винда обновляется? Не все релизы десятой винды поддерживают дотнет 4.7. Обновление должно помочь.
Она у него лицензионная, правда какая-то...в общем с какой-то аббривиатурой, вроде OEM, 64 битная, украинская. Обновляется или нет, а там разве само всё не обновляется в десятке?! С другой стороны я собрал программу под .NET Framework 3.5 и у него не заработало.

#8
15:00, 22 фев. 2018

Интересно, что у него на диске с операционной системой (у него это диск C), одна из папок Program Files и Program Files (x86) называется по-украински (всего одна). Странно как-то это всё!

#9
15:03, 22 фев. 2018

Если у него винда-пиратка, она может не обновляться в принципе.

#10
15:06, 22 фев. 2018

Zab
> Если у него винда-пиратка, она может не обновляться в принципе.
Да нет, у него лицензия. Так что, скорее всего, всё обновлено.

#11
15:30, 22 фев. 2018

просто .NET делали индусы
добавь в проект app.config с содержимым, удали строки на которых твоя прога точно не заработает, по используемому api
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3" />
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>
не забывай таскать с собой blablabla.exe.config

#12
15:40, 22 фев. 2018

ShadowTeolog
> добавь в проект app.config с содержимым, удали строки на которых твоя прога точно не заработает, по используемому api
Файл App.config в проекте уже присутствовал. Вот его содержимое:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup>
       
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>
</configuration>

> не забывай таскать с собой blablabla.exe.config
А вот это уже жаль, я хотел все ресурсы запихать в исполняемый файл (картинки, звуки) и хранить только исполняемый файл.

С другой стороны, почему из трёх компьютеров не работает только у него?

#13
15:48, 22 фев. 2018

Я тебе ясно написал что делать. У тебя софтина хочет именно версию 4.6.1, а любую другую игнорит. Пропиши всю кучу по списку которая может работать

#14
15:58, 22 фев. 2018

ShadowTeolog
> Я тебе ясно написал что делать. У тебя софтина хочет именно версию 4.6.1, а любую другую игнорит. Пропиши всю кучу по списку которая может работать
Хорошо, попробую. А от exe.config файла вообще не отделаться?

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.