2010-06-09 7 views
61

¿Hay alguna manera de obtener la versión actual de ASP.NET MVC en el código? ¿Es necesario reflexionar sobre los ensamblajes MVC? ¿Alguna nueva variable del servidor IIS? Alguna propiedad para leer en contexto HTTP?¿Cómo determinar la versión actual de ASP.NET MVC?

+0

Por 'genial' ¿quieres decir 'eficiente' o 'enrevesado'? – JYelton

Respuesta

29

través de la reflexión:

typeof (Controller).Assembly.GetName().Version 
+0

muy bueno! Estoy marcado MvcHandler.GetMvcVersionString() en el código fuente de mvc (pero el método privado, arrepentimiento ..). – takepara

133
  1. Ir a la carpeta de referencia
  2. look para system.web.mvc
  3. clic derecho sobre él
  4. Haga clic en Propiedades
  5. vistazo a la propiedad Version.

Esto es lo más probable es que su versión, pero el GAC pueden desempeñar un papel en jugar a su alrededor

1

En la remota posibilidad de que usted no tiene acceso al código y/o quiere saber la versión de ASP. NET que se ha desplegado en una máquina, puede hacer lo siguiente (de TechNet):

¿Cómo puedo determinar qué versión de ASP.NET MVC está instalada en mi sistema ?

Para MVC 4.0, MVC 5.0 o MVC 5.1 debería haber implementado el binario afectado (System.Web.MVC.dll) con su aplicación. Compruebe la carpeta bin de la aplicación para ver la versión del archivo binario. Para MVC 2.0, MVC 3.0 o MVC 4.0, consulte el elemento Agregar o quitar programas del panel de control para ver la versión de MVC instalada.

-2

Utilice el paquete NuGet MvcDiagnostics que puede instalar. Cree un MVC "hello world" o algún otro programa básico, luego instale este paquete. La instalación solicitará que el proyecto agregue un archivo a. Confirme y debería ver MvcDiagnostics.aspx agregado a su proyecto. Haga clic derecho en este archivo en el visor de soluciones, luego elija "Ver en el navegador". Debería ver una buena página con toda su información de ensamblaje. La mía tiene el siguiente aspecto:

Microsoft ASP.NET MVC Diagnostics Information 

This page is designed to help diagnose common errors related to mismatched or conflicting ASP.NET MVC binaries. If a known issue is identified, it will be displayed below in red text. 

For questions or problems with ASP.NET MVC or this utility, please visit the ASP.NET MVC forums at http://forums.asp.net/1146.aspx. 

Environment Information 

Operating system: Microsoft Windows NT 6.2.9200.0 
.NET Framework version: 4.0.30319.34209 (32-bit) 
Web server: Microsoft-IIS/8.0 
Integrated pipeline: True 
Worker process: iisexpress.exe 
AppDomain: Homogenous = True, FullTrust = True 

ASP.NET MVC Assembly Information (System.Web.Mvc.dll) 

Assembly version: ASP.NET MVC 4 RTM (4.0.20710.0) 
Full name: System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
Code base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Web.Mvc/v4.0_4.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll 
Deployment: GAC-deployed 

ASP.NET MVC Futures Assembly Information (Microsoft.Web.Mvc.dll) 

An ASP.NET MVC Futures assembly has not been loaded into this application. A download for this version of ASP.NET MVC Futures is not available. Pre-release versions of the MVC Futures assembly are no longer available once that version of ASP.NET MVC has gone RTM. 

All Loaded Assemblies 

71 assemblies are loaded. 

A_65e81fd0_eb37_47d8_aba0_baece822c7ad, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 
Antlr3.Runtime, Version=3.3.1.7705, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
App_global.asax.1h_47vyd, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 
App_Web_rnug5pva, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 
BasicAuthentication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 
EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.JScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.VisualBasic.Activities.Compiler, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.VisualStudio.Web.PageInspector.Runtime, Version=12.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.VisualStudio.Web.PageInspector.Tracing, Version=12.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed 
SMDiagnostics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.ServiceModel.Internals, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Workflow.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Workflow.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
WebGrease, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
6

Abra la packages.config en su explorador de soluciones ..

A continuación, busque ASP.NET MVC paquete de ID, de la siguiente manera:

id = "Microsoft. AspNet.Mvc" version = "5.2.2" targetFramework = "net452"

4

Al tiempo de ejecución-

string mvcVersion = typeof (Controller).Assembly.GetName().Version.ToString(); 

en el diseño del tiempo-

  • Ir a la carpeta de referencia
  • look para system.web.mvc
  • clic derecho sobre él
  • Haga clic en Propiedades Mire la propiedad Version

.

+0

No entiendo al principio en la ventana 'Crear proyecto nuevo' que las plantillas asp fueron escritas 4.6 pero mi ensamblado de referencia MVC es la versión 5: | – AmiNadimi

Cuestiones relacionadas