Запуск программного обеспечения, созданного для .NET 3.5, в системе, в которой установлен только .NET 2.0

StackOverflow https://stackoverflow.com/questions/1520510

  •  19-09-2019
  •  | 
  •  

Вопрос

Как далеко продвигается программное обеспечение, скомпилированное для .NET 3.5, до сбоя в системе, в которой установлен только .NET 2.0?

Приложение, которое я разрабатываю, использует WPF и требует .NET 3.5, но я хотел бы отобразить удобное для пользователя диалоговое окно (а не сбой), если у пользователя оно не установлено.

Существуют ли какие-либо стандартные способы сделать это или официальная документация Microsoft по этому поводу?


Редактировать:В идеальном мире я бы просто проверил, что все зависимости .NET выполняются во время установки.Поскольку у некоторых приложений нет установщиков и поскольку пользователи потенциально могут удалить их .NET после установки приложения, я нахожу приведенные ниже ответы полезными.

Это было полезно?

Решение

Это (вероятно) не приведет к сбою, пока не попытается использовать dll, для которой требуется 3.5.Если исполняющее приложение может проверить версию перед использованием каких-либо специфичных для 3.5 библиотек DLL, вы можете отобразить диалоговое окно winform, и все должно быть в порядке.Вашей самой безопасной ставкой было бы сделать exe сборкой 2.0 и поместить все ваши материалы 3.5 в отдельную библиотеку dll, которая скомпилирована для 3.5.Вы могли бы выполнить проверку в библиотеке dll 2.0, прежде чем она загрузит любую из ваших сборок 3.5.

Другие советы

.NET 3.5 использует среду выполнения .NET 2.0, поэтому приложение запустится отлично (однако оно будет сбой при попытке загрузить сборки 3.5).Вы можете проверить Окружающая среда.Версия чтобы узнать, на .NET 3.5 ли вы работаете, и предоставить пользователю стандартный MessageBox.Show если нет.

Рассматривали ли вы возможность использования развертывания ClickOnce?Агент проверит и установит все необходимые элементы, которые вы укажете, включая файл .Net.Это также делает принудительное обновление вашего приложения довольно безболезненным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top