La pregunta es cómo resolver los conflictos entre las versiones de los ensamblados en mi proyecto que se actualizó a MVC4 y EF5?

El problema se manifiesta en el hecho de que mis controladores y modelos pueden incluir el Sistema.De datos.Los objetos, pero ahora mis puntos de vista.

Estoy usando MVC 4, mi proyecto fue actualizado desde MVC 3.

Entity Framework es la versión 5.

Tengo un controlador que es capaz de utilizar objectcontext del Sistema.De datos.Objetos.

Mi Utilizan:
el uso del Sistema.De datos.Los objetos;
el uso del Sistema.De datos.Entidad;

Cuando trato de incluir el uso de la vista formulario del Sistema.De datos.Los objetos, me sale :

CS0234: el tipo o El nombre de espacio de nombres ‘Objetos’ no existe en el espacio de nombres ‘System.De datos’ (¿falta una referencia de ensamblado?)

Estoy de orientación .net 4.5

Mi Compilación Muestra este mensaje:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1561,5): advertencia MSB3247: se Encuentran los conflictos entre las diferentes versiones de la misma dependiente de la asamblea.

No estoy del todo seguro de cuál es tu problema pero creo que mi primera pregunta sería ¿existe algún modo de evitar la interacción con el objectcontext desde el punto de vista? Esto es generalmente una mala idea y que viole las reglas de su punto de vista de “tonto” en el patrón mvc. Usted debe evitar cualquier otra cosa que mostrar la lógica específica en sus puntos de vista. En una nota de lado, puede registrar su punto de vista (o partes de ella), así que puede conseguir una mejor comprensión de su problema?
Esto es lo que yo estoy tratando de hacer en la Vista: @ObjectContext.GetObjectType(elemento.TimelineEntry.Documento.GetType()).Nombre.ToString();
Así que lo que probablemente ocurre es que algunos otros de la asamblea se ha hecho referencia en el proyecto se hace referencia a una versión diferente de la entidad marco de ahí, por qué usted está recibiendo el mensaje en su pantalla. Es la aplicación sólo un archivo de Proyecto o hay varios proyectos en la misma solución con la que todos pueden o no pueden hacer referencia al marco de la entidad?
He seguido tu consejo y acaba de agregar una propiedad en el modelo de acceso a la información que necesito. Todavía molesto por el tema de las versiones, y por qué yo no puedo incluir el sistema.de datos.los objetos en mis opiniones.

OriginalEl autor Y Haber | 2012-06-26

3 Comentarios

  1. 28

    Usted puede construir su solución en el modo de diagnóstico para obtener información más detallada acerca del error.

    Abrir el VS de diálogo Opciones (Herramientas > Opciones), desplácese hasta la opción “Proyectos y Soluciones” nodo y seleccione “Build and Run”. Cambiar el MS Construir proyecto de salida de la compilación de verbosidad de Diagnóstico.

    Tener una mirada aquí.

    Modo de diagnóstico que le dice exactamente qué archivos dll están tirando en las otras versiones también. Muy útil.
    Sólo una nota, una vez que la salida de la compilación hacer una búsqueda de la palabra “conflicto” en la ventana de salida y encontrarás el problema.

    OriginalEl autor Joe

  2. 3

    Si miras en la construcción del mensaje, indica la versión 4.0 de .net framework es la que se hace referencia… hay una opción de configuración en el archivo de proyecto o en la web/app.config especificando un conflicto de versión de la .net framework?

    Estás familiarizado con fuslog? se puede configurar para registrar toda la asamblea de los enlaces .net está haciendo mientras se ejecuta la aplicación. A continuación, usted debe ser capaz de ver la información detallada sobre lo que se está obligado cuando. Si usted todavía no puede averiguar, siempre se puede hacer una redirección de enlace en eso .dll en la web.config.

    http://msdn.microsoft.com/en-us/library/eftw1fys.aspx — enlace redirige

    http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs 71).aspx — visor de registro de fusión

    Configurar el registrador de la fusión y echar un vistazo a lo que la salida es. Si usted no recibe una respuesta de eso, tratar la redirección de enlace (lo que le daría al menos una solución temporal).

    No estoy seguro de cómo encontrar lo está haciendo referencia a lo que. Las propiedades del proyecto se hace referencia .Net 4.5. ¿Cómo puedo realizar un seguimiento de esto? Sólo hay un Sistema.De datos.Entidad DLL en las referencias.
    Se parece a la vista es el acceso el 5 de Entity Framework Versión del sistema.de datos.entidad y el controlador de acceso a la versión 4, que tiene el sistema.de datos.objetos. ¿Cómo puedo 1) asegúrese de que todo el proyecto es el uso de las nuevas asambleas. 2) Llegar a objeto de contexto en la versión 5 de EF?
    Extraño – el modelo no tiene ningún problema para acceder a objectcontext.
    He actualizado mi respuesta con algo de información útil que puede ayudarle a realizar un seguimiento de sus problemas de enlace. Déjeme saber si usted pensar en algo!
    Hizo usted termina calcular esto, el uso de las herramientas mencionadas?

    OriginalEl autor theMothaShip

  3. 0

    En el directorio me fue la publicación, había una carpeta con el nombre aspnet_client. Me mudé (en lugar de eliminarlo), republicado, y funcionó. No estoy seguro de por qué esa carpeta decidido darme problemas fuera de la azul.

    OriginalEl autor Sam Harrison

Dejar respuesta

Please enter your comment!
Please enter your name here