如何知道服务器中是否安装了asp.net 3.5 sp1和asp.net mvc?

如何知道服务器中是否安装了asp.net 3.5 sp1和asp.net mvc?,asp.net,asp.net-mvc,installation,production-environment,Asp.net,Asp.net Mvc,Installation,Production Environment,当我使用: System.Environment.Version 结果是“2.0.50727.3053” 我知道3.5是兼容的,在IIS中被标识为2.0,诸如此类 我想知道安装的确切.net版本,以及是否安装了其他资源,如ASP.net MVC等。问题是该网站安装在共享主机中,因此我可以向技术支持部门询问该资源,但如果我从编程角度知道,则更好。 ASP.NET MVC未内置于Microsoft.NET framework 3.5 SP1中 我想澄清一下 我在网上看到的困惑 关于ASP.NET

当我使用:

System.Environment.Version
结果是“2.0.50727.3053”

我知道3.5是兼容的,在IIS中被标识为2.0,诸如此类

我想知道安装的确切.net版本,以及是否安装了其他资源,如ASP.net MVC等。问题是该网站安装在共享主机中,因此我可以向技术支持部门询问该资源,但如果我从编程角度知道,则更好。


ASP.NET MVC未内置于Microsoft.NET framework 3.5 SP1中

我想澄清一下 我在网上看到的困惑 关于ASP.NET MVC和.NET 框架3.5服务包1。ASP.NET MVC不是作为SP1的一部分发布的。我 重复,ASP.NET 3.5 SP1不支持 包括ASP.NET MVC

SP1发布的是 ASP.NET路由功能,位于 由ASP.NET MVC和Dynamic 数据


因此,您可以从马口铁(Haacked再次;)中找到它。

您遇到的问题是,您将编译器/运行时版本与框架版本混为一谈

运行System.Environment.Version将使您获得2.0版—这是事实—但这不是您想要的


你是在寻找一个一次性的答案还是需要反复使用?如果你真的想知道-上传一个MVC应用程序示例,看看它是否运行。否则,您将不得不以编程方式检查正在运行的计算机上安装的内容。

不确定,但请尝试以下操作:

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 assembly

我喜欢这个问题,特别是因为共享主机警告可能会排除大多数基于文件系统和注册表的解决方案!如果你喜欢一个问题,请向上投票。对不起,这里有点新。我确实把它添加为最爱!这并不能直接回答你的问题。如果知道安装了3.5,则可以部署MVC。你确定吗?我确信ASP.NETMVC是一个独立的安装程序,它需要.NET3.5SP1作为先决条件。这是不正确的。ASP.net URL路由已经被嵌入,MVC大量使用它——但即使您有3.5 SP1,MVC仍然是一个单独的安装。请看这里:以防任何人需要它-MVC安装链接:要反复使用的东西。。。我安装了大量的asp.net小网站,在安装之前了解这些信息非常好……我喜欢这个解决方案。这在很多情况下都非常有用,不仅仅是MVC。