2012-02-27 11 views
41

que acaba de instalar el MVC 4 Beta ahora mi aplicación MVC 3 no se compila con el siguiente error:MVC lado 4 Beta de error de instalación lateral

The type 'System.Web.Mvc.ModelClientValidationRule' exists in both 'c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll' and 'c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages.dll' C:\Users\michaeljo\Documents\src\patientgive\Phc.Mvc\Infrastructure\PasswordStrengthAttribute.cs

Al parecer, esto se ha movido a un montaje diferente y dado que ambas asambleas están en el GAC, no sabe cuál usar.

Respuesta

72

Después de instalar MVC4 beta hoy, algunos de mis proyectos MVC 3 no compilarían. (Conflicto ModelClientValidationRule) La solución fue:

Editar:

ProjectName.csproj 

Cambio

<Reference Include="System.Web.WebPages"/> 

Para

<Reference Include="System.Web.WebPages, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/> 
+0

¿Utilizará MVC beta o MVC 3 con esta corrección? – MSajjadi

+0

mvc 3, no la versión beta –

+0

Tnx mucho @tomstickel – MSajjadi

4

Ok probar esta solución ...

En el raíz Web.co archivo nfig, agregue una nueva entrada con la clave páginas web: Versión y el valor 1.0.0.0.

2.En el Explorador de soluciones, haga clic con el botón derecho en el nombre del proyecto y luego seleccione Descargar proyecto. A continuación, haga clic con el botón derecho en el nombre nuevamente y seleccione Editar nombre del proyecto.csproj.

3.Locate las siguientes referencias de ensamblado:

<Reference Include="System.Web.WebPages"/> 
<Reference Include="System.Web.Helpers" /> 

los sustituye por el siguiente:

<Reference Include="System.Web.WebPages, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/> 
<Reference Include="System.Web.Helpers, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/> 

4.Save los cambios, cierre el proyecto (.csproj) el archivo que estaba editando, y luego haga clic derecho en el proyecto y seleccione Recargar.

REFERENCE

Proveedores this

I Found esta respuesta here para mí la segunda edición combinada con la primera resolvió el problema.

2

Simplemente elimine la referencia de System.Web.WebPages. Esto construirá tu proyecto con éxito.

Cuestiones relacionadas