Как узнать, установлены ли на сервере 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 и посмотрите, работает ли он. В противном случае вам придется программно проверить, что установлено на компьютере, на котором вы работаете.