2009-06-02 15 views
6

Tratando de depurar en fuente ASP.NET MVC 1.0, seguí instrucciones como these, básicamente eliminé la referencia a system.web.mvc de mi proyecto web y agregué el proyecto fuente que descargué en su lugar.Depuración de fuente ASP.NET MVC?

Ahora, tengo este problema,

El tipo 'System.Web.Mvc.FormMethod' existe tanto en 'c: \ Windows \ assembly \ GAC_MSIL \ System.Web.Mvc \ 1,0 .0.0__31bf3856ad364e35 \ System.Web.Mvc.dll 'y en mi AppData \ Local \ Temp \ Temporal ASP.NET Archivos \ root \ dbcbb149 \ 897fc019 \ assembly \ dl3 \ 796c00fb \ f345f2d6_abe3c901 \ System.Web.Mvc.DLL '

Intenté comentar lo siguiente desde web.config

<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

sino que va a dar un error de diferencia

El tipo 'System.Web.Mvc.Controller' se define en una asamblea que no es referencia. Debe agregar una referencia al ensamblado 'System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'.

Podría alguien ayudar en lo que está yendo mal y cómo solucionarlo. ¡Muchas gracias!

Ray.

+0

Parece que tiene una copia en el contenedor y en GAC. ¿Tiene una copia de System.Web.Mvc en su carpeta bin (asegúrese de estar viendo todos los archivos) –

+0

Hago referencia al proyecto fuente, por lo que después de compilar habrá una copia en mi contenedor. –

Respuesta

1

¿Los ensambles system.web.mvc están en el GAC? es posible que deba eliminarlos ... esto, por supuesto, podría arruinar los proyectos futuros, ya que las plantillas del proyecto probablemente suponen que están en el juego.

También podría intentar usar la función <assemblyBinding> como described here para señalar las cosas de mvc a la versión que está ejecutando.

+0

Sí, instalé mvc usando el PI web, por lo que está en GAC. ¿Hay una manera más simple de resolver esto? Realmente no quiero eliminarlo de GAC o desinstalarlo. –

1

Suponiendo que el nombre completo del ensamblado para el que está enlazando difiere del que está en el GAC, use el <QualifyAssembly> element y especifique a qué ensamblaje se está conectando realmente. De lo contrario, cambie su fuente local para cambiar el ensamblaje de MVC que está creando a 1.0.0.1, por lo que es diferente.

Editar: Comprueba dos veces el modo que has vinculado. Funcionó para mí

  1. eliminó la referencia de system.web.mvc en mi proyecto.
  2. Agregó el proyecto System.Web.Mvc desde la fuente.
  3. Comenta la referencia de System.Web.Mvc en el web.config de mi proyecto.
  4. modificó System.we.b.mvc's /Views/Web.Config como se indica en el tutorial.
  5. funcionó impecablemente.
+1

No sé exactamente cómo funciona esto, ¿tiene exactamente la línea que podría utilizar para que esto funcione? Intenté cambiarlo a 1.0.0.1, realmente no funcionó. –

+0

Consulte la respuesta de Richard y es probable que deba actualizar la información de ensamblaje del proyecto de mvc para que la versión sea diferente de la del GAC. – hometoast

+0

Según el artículo de codeville, asegúrese de que la referencia de su proyecto a system.web.mvc esté configurada como "Copiar local" en "verdadero" – hometoast

0

para la sección de montaje que desea calificar algo como esto (lo hacemos para el montaje SQLite):

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <qualifyAssembly partialName="System.Data.SQLite" fullName="System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> 
    </assemblyBinding> 
    </runtime> 
0

Tener un vistazo a este artículo para obtener la guía completa sobre cómo setup MVC source.

Hay dos archivos web.config que necesita actualizar. Uno está en la carpeta del proyecto MVC y el otro está en la carpeta Vistas. Es probable que haya olvidado actualizar este último. De lo contrario, después del artículo mencionado debería hacerlo.

+0

léala y siga, la web.config en mi opinión es diferente de la del artículo –

0

Una versión ligeramente más completa de instrucciones de Steve Sanderson can be found here.

Explica cómo también puede incluir MVC Futures en su depuración.

Cuestiones relacionadas