Integración de Sistemas: Práctica .NET

Anuncio
Integración de Sistemas: Práctica .NET
Listado de Errores Comunes
En el siguiente documento se recogen una serie de problemas comunes que han surgido a los
diferentes grupos durante el desarrollo de la práctica.
Se produce la excepción System.ArgumentException
"El miembro con la identidad <<FullQualifiedClassName>> no existe
en la colección de metadatos. Nombre del parámetro: identity"
La excepción se lanza dentro del método CreateEntityKey en la clase
GenericDaoEntityFramework cuando intenta accederse a la
información del metadataWorkspace
Solución:
El problema viene dado porque el namespace en el que se crean los objetos
Entity por parte del Entity Framework ( y que luego se emplea en el resto
de ficheros de la práctica) y el namespace que se indica en la configuración
xml del Entity Data Model (de dónde luego se lee la metadata) tienen que
ser el mismo, tal y como se ve en este código del fichero .cs asociado al
.edmx
[assembly: global::System.Data.Objects.DataClasses.EdmSchemaAttribute()]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute(
"Es.Udc.DotNet.MiniPortal.Model", "FK_Languages", "Languages", <<...>>]
namespace Es.Udc.DotNet.MiniPortal.Model {
Para cambiarlo, abrir el archivo .edmx y, sobre un espacio en blanco de la
ventana del editor gráfico (no sobre ninguna de las entidades que
aparecen), hacer click con el botón secundario y seleccionar propiedades.
Debería aparecer una ventana como la siguiente.
Cambiar el Namespace para que coincida con el que se emplea en el resto
de la práctica.
No puede editarse el Entity Data Model de los ejemplos MiniBank y
MiniPortal ni crearse un nuevo fichero .edmx
Solución:
Instalar VStudio 2008 Professional Service Pack 1
Se produce la excepción System.Data.EntityException
Exception Message: Error del proveedor subyacente en Open.
InnerException{"MSDTC on server 'xxx\\SQLEXPRESS' is unavailable."}
Solución:
Tal y como se especifica en el documento “Configuración entorno de trabajo”
es necesario iniciar el servicio Coordinador de transacciones distribuidas de
Microsoft.
Al cargarse la configuración de unity se produce la excepción
ConfigurationErrorsException:
Exception Message: ”No puede analizarse el valor de la propiedad 'type'. El
error es: No se puede cargar el archivo o ensamblado 'System.Data.Entity'
ni una de sus dependencias. El sistema no puede hallar el archivo
especificado. “
Exception Message: “The value of the property 'type' cannot be parsed. The
error is: Could not load file or assembly 'System.Data.Entity' or one of its
dependencies. The system cannot find the file specified”
Solución:
El error se debe a una mala configuración de las referencias en el proyecto que
origina la excepción. La librería System.Data.Entity.dll debe copiarse a la
configuración del proyecto.
Para solucionarlo, sobre las referencias del proyecto, seleccionar
System.Data.Entity y comprobad que realmente se está copiando a la
configuración del proyecto (Propiedad Copy Local = True)
Descargar