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

#1 Eduardo A. Morcillo [MS MVP VB]
03/07/2006 - 04:41 | Informe spam
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
#2 solusoft
03/07/2006 - 08:53 | Informe spam
Según esto

http://www.ndepend.com/SampleReport...ASMDEPDIAG

el .NET Framework 2.0 tiene dependencias circulares, pero habrá razones de
peso para ello.

Aunque lo mejor es evitarlo, no?


"Eduardo A. Morcillo [MS MVP VB]" escribió:

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
#3 [Juanjo]
03/07/2006 - 10:31 | Informe spam
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
#4 Fran Peula Ariza
03/07/2006 - 14:43 | Informe spam
Pues creando un proyecto intermedio de modo que en el proyecto A tengas el
formulario A. en el proyecto B, tienes el formulario B. Después tienes un
proyecto C que tenga una clase con dos métodos, uno para llamar al formulario
A y otro al B. Lógicamente este proyecto C tendrá referencias tanto al
proyecto A como al B.

Sería algo así, ¿no?

Ya nos contarás.

Saludos

Fran Peula Ariza

"[Juanjo]" escribió:

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
#5 Eduardo A. Morcillo [MS MVP VB]
03/07/2006 - 16:36 | Informe spam
Pues creando un proyecto intermedio de modo que en el proyecto A
tengas el formulario A. en el proyecto B, tienes el formulario B.
Después tienes un proyecto C que tenga una clase con dos métodos, uno
para llamar al formulario A y otro al B. Lógicamente este proyecto C
tendrá referencias tanto al proyecto A como al B.



De esa forma sigue existiendo el problema. Lo mejor sería sacar los
formularios a un tercer proyecto referenciado por los otros dos. Sino lo que
queda es cargarlo en ejecucion con Reflection y usar una interface para
acceder a los formularios (la interface es para no tener que hacer todo con
Reflection).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida