Как узнать, установлены ли на сервере asp.net 3.5 sp1 и asp.net mvc?
Когда я использую:
System.Environment.Version
Результат: "2.0.50727.3053"
Я знаю, что 3.5 совместим, и в IIS определяется как 2.0, бла-бла...
Я хотел бы знать, какая именно версия .net установлена и установлены другие ресурсы, такие как ASP.NET MVC и т.д. Проблема в том, что веб-сайт установлен на общем хостинге, поэтому я могу задать вопрос что касается технической поддержки, но если я знаю программно, это намного лучше.
Привет
Ответы
Ответ 1
Не уверен, но попробуйте что-то вроде этого:
bool mvcInstalled = true;
try
{
System.Reflection.Assembly.ReflectionOnlyLoad(
"System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35");
}
catch()
{
mvcInstalled = false;
}
ОБНОВЛЕНО:
Чтобы узнать, установлен ли .NET 3.5 SP1, проверьте сборку System.Web.Abstractions
Ответ 2
ASP.NET MVC не встроен в Microsoft.NET framework 3.5 SP1.
См. этот пост
Я хотел прояснить немного путаница, которую я видел по всему миру о ASP.NET MVC и .NET. Framework 3.5 с пакетом обновления 1. ASP.NET MVC не был выпущен как часть SP1. я повторить, ASP.NET 3.5 SP1 не включая ASP.NET MVC.
То, что было выпущено с SP1, было Функция маршрутизации ASP.NET, которая находится в использование как ASP.NET MVC, так и Dynamic Данные.
Итак, у вас это есть, из уст лошади (снова взломали).
Ответ 3
Проблема заключается в том, что вы смешиваете версию компилятора/времени выполнения с версиями фреймов.
Запуск System.Environment.Version даст вам 2.0 - это правда - но это не то, что вы ищете.
Вы ищете одноразовый ответ или что-то, что нужно использовать снова и снова? Если вы действительно хотите узнать - загрузите образец приложения MVC и посмотрите, работает ли он. В противном случае вам придется программно проверить, что установлено на компьютере, на котором вы работаете.