problemas con las dependencias circulares entre proyectos.

03/07/2006 - 02:35 por [Juanjo] | Informe spam
Hola grupo:

Tengo un problemilla. En mi solucion tengo un proyecto "inicial" que
llama a otros dos proyectos "secundarios" para mostrar
formularios. Hasta aqui sencillo, agrego referencias, el using..., todo ok.

El problema vienen cuando desde uno de los proyectos secundarios quiero
llamar a los formularios del otro y viceversa. A uno
de los proyectos secundarios le añado la referencia del otro, el using,..
todo ok? pero cuando al otro proyecto le añado la referencia
del primero, se produce el error de que se producen las depencias, cosa
normal.

Pero como puedo solucionarlo??? Es necesario el poder llamar
indistintamente de uno de los proyectos a los formularios del otro

Muchas gracias de antemano.

Preguntas similare

Leer las respuestas

#6 Vyacheslav Popov
03/07/2006 - 17:38 | Informe spam
Es un problema típico de referencias cruzadas. Para solucionar este problema
hay que quitar las dependencias. Una de las soluciones es crear las
interfaces, pero no es útil en tu caso.

Te propongo implementar funcionalidades del patrón "Observer" en uno de los
ensamblados. Esto en C# sería muy fácil. Tan solo tienes que crear un evento
en el ensamblado B (por ejemplo) y enlazarlo desde ensamblado A. Cuando B
cambia de estado se notifican las modificaciones al A. De este modo habrá
solo una dependencia de A a B.

Saludos.

"[Juanjo]" escribió en el mensaje
news:%
Gracias por contestar.

El problema es que en el proyecto A tengo un formulario que necesito
llamarlo desde un
proyecto B, y en el proyecto B tengo otro formulario que lo necesito
llamar desde el proyecto A.

Como creo aqui el interface?

gracias de nuevo

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
La forma de quitar las dependencias circulares es sacar a un tercer
proyecto lo que lo dos anteriores necesitan acceder. Puede ser que no sea
tan facil y tengas que trabajar un poco mas. Por ejemplo si el proyecto A
referencia al B y desde B tienes que usar un objeto definido en A una
solucion podria ser definir una interface en otro proyecto que
referencias desde ambos y en B usas esa interface para trabajar con el
objeto de A (espero que se entienda).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C





Respuesta Responder a este mensaje
#7 Eduardo A. Morcillo [MS MVP VB]
04/07/2006 - 00:08 | Informe spam
Te propongo implementar funcionalidades del patrón "Observer" en uno
de los ensamblados. Esto en C# sería muy fácil. Tan solo tienes que
crear un evento en el ensamblado B (por ejemplo) y enlazarlo desde
ensamblado A. Cuando B cambia de estado se notifican las
modificaciones al A. De este modo habrá solo una dependencia de A a B.



Si, esa es una solucion pero tampoco estoy seguro de que sea el caso.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#8 [Juanjo]
04/07/2006 - 12:02 | Informe spam
Muchas gracias a todos.

Voy a probar algunas de las cosas que me habeis propuesto, ya os contare.

Gracias a todos de nuevo

"[Juanjo]" escribió en el mensaje
news:
Hola grupo:

Tengo un problemilla. En mi solucion tengo un proyecto "inicial" que
llama a otros dos proyectos "secundarios" para mostrar
formularios. Hasta aqui sencillo, agrego referencias, el using..., todo
ok.

El problema vienen cuando desde uno de los proyectos secundarios quiero
llamar a los formularios del otro y viceversa. A uno
de los proyectos secundarios le añado la referencia del otro, el using,..
todo ok? pero cuando al otro proyecto le añado la referencia
del primero, se produce el error de que se producen las depencias, cosa
normal.

Pero como puedo solucionarlo??? Es necesario el poder llamar
indistintamente de uno de los proyectos a los formularios del otro

Muchas gracias de antemano.




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida