Не удается развернуть приложение Visual C#
Я смог нормально запустить свое приложение C# .net 3.5 на своей машине для разработки, но я не могу запустить его где-либо еще. На клиентских компьютерах установлен профиль клиента 4.0 .net, и после поиска того, что осталось за пределами профиля клиента, я сомневаюсь, что установка полной платформы 4.0 будет иметь значение.
Я использую классы из этих библиотек:
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using System.Diagnostics;
using Microsoft.Win32;
Единственное, что я делаю необычно - это определение CustomApplicationContext вместо обычного контекста приложения, который вы бы использовали для приложения Forms. Мое приложение работает в основном как NotifyIcon в системном трее, поэтому я просто настроил класс, основным интерфейсом которого является значок в системном трее. Ничего странного.
В целях тестирования у меня первая строка кода отображает MessageBox, и даже это не будет работать. Всякий раз, когда я запускаю его на машине развертывания, просто появляется окно с надписью "Приложение не удалось запустить" и закрывается.
У кого-нибудь есть идеи, почему он будет этим заниматься? Я не могу заставить его запустить немного кода.
3 ответа
Возможно, вам нужно добавить.Net4.0 в список поддерживаемых сред выполнения. Добавьте следующие строки в ваш app.config
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Возможно, не все будет работать правильно на новой платформе, но вы пытались явно установить целевую платформу, как описано на http://msdn.microsoft.com/en-us/library/ms171868.aspx
Скопировано:
.NET Framework 4 хорошо совместим с приложениями, созданными с более ранними версиями.NET Framework, за исключением некоторых изменений, которые были сделаны для улучшения безопасности, соответствия стандартам, правильности, надежности и производительности.
.NET Framework 4 не использует свою версию общеязыковой среды выполнения автоматически для запуска приложений, созданных с использованием более ранних версий.NET Framework. Для запуска более старых приложений с.NET Framework 4 необходимо скомпилировать приложение с целевой версией.NET Framework, указанной в свойствах для вашего проекта в Visual Studio, или указать поддерживаемое время выполнения с элементом в элементе конфигурации приложения.
Установка только.NET Framework 4 не приведет к печальному запуску приложения.NET 3.5. 3.5 будет запускать приложения 2.0, 3.0 и 3.5, но 4 - это капитальный ремонт, поэтому он не будет работать, если пользователи не установили 3.5 на свои машины.