Problema con el forms designer y namespaces

10/11/2003 - 05:21 por Diego Devesa | Informe spam
Hola,
Estoy usando el Visual Studio .NET 2003 para realizar un proyecto en C#. En la
solucion hay un proyecto de aplicacion y otro de biblioteca de clases (una DLL).
En la DLL tengo un control "MyListView" que extiende
"System.Windows.Forms.ListView", en el namespace "Proyecto.GUI".
En la aplicacion tengo un formulario, en el namespace "Proyecto.Cliente.GUI",
en el cual he puesto un control "MyListView".

El problema es que el forms designer escribe el namespace completo al declarar
la variable para el control, y el compilador falla con un mensaje similar a
"The type or namespace name 'GUI' does not exist in the class or namespace
Proyecto.Cliente.GUI.Proyecto' (are you missing an assembly reference?)".

No seria mucho problema si pudiera corregir a mano la declaracion incorrecta
que hace el forms designer.
Pero si intento hacerlo, el forms designer se pondra en modo "let's screw
everything" y pasara a cargarse el control eliminando toda su parte de
inicializacion que realiza en
la funcion InitializeComponent() y atacandome continuamente con mensajes de
error en la lista de tareas. Lo que resulta realmente molesto.

¿Acaso estoy haciendo algo mal? ¿Es esto un problema conocido, existe alguna
solucion, a parte de usar namespaces que no interfieran entre si?

Gracias.

Preguntas similare

Leer las respuestas

#1 Luison
10/11/2003 - 17:46 | Informe spam
Hola

A mi paso algo parecido y el problema es que mi NameSpace dependía de otro
del framework y el VS no se daba cuenta y no me lo agregaba por lo que tenía
que agregarlo a mano en las referencias y para evitar problemas lo que hice
es que lo agrego antes de agregar el control, ahora eso me pasó porque a
pesar de heredar y definir mi nuevo control internamente use clases que
están definidas en el namespace que tiene el control del cual herede.

Luison

Luis A. Hereira Aguilera
Consultor de Negocios
Fidens S.A
www.fidens.cl
2350615 anexo 19
"Diego Devesa" escribió en el mensaje
news:
Hola,
Estoy usando el Visual Studio .NET 2003 para realizar un proyecto en C#.


En la
solucion hay un proyecto de aplicacion y otro de biblioteca de clases (una


DLL).
En la DLL tengo un control "MyListView" que extiende
"System.Windows.Forms.ListView", en el namespace "Proyecto.GUI".
En la aplicacion tengo un formulario, en el namespace


"Proyecto.Cliente.GUI",
en el cual he puesto un control "MyListView".

El problema es que el forms designer escribe el namespace completo al


declarar
la variable para el control, y el compilador falla con un mensaje similar


a
"The type or namespace name 'GUI' does not exist in the class or namespace
Proyecto.Cliente.GUI.Proyecto' (are you missing an assembly reference?)".

No seria mucho problema si pudiera corregir a mano la declaracion


incorrecta
que hace el forms designer.
Pero si intento hacerlo, el forms designer se pondra en modo "let's screw
everything" y pasara a cargarse el control eliminando toda su parte de
inicializacion que realiza en
la funcion InitializeComponent() y atacandome continuamente con mensajes


de
error en la lista de tareas. Lo que resulta realmente molesto.

¿Acaso estoy haciendo algo mal? ¿Es esto un problema conocido, existe


alguna
solucion, a parte de usar namespaces que no interfieran entre si?

Gracias.

Respuesta Responder a este mensaje
#2 brianna
13/11/2003 - 05:26 | Informe spam
No es un problema de referencias, como sugiere el error.

El problema es que estando en el namespace "A.b", si haces una
declaracion de una variable de un tipo de dato que este tambien en ese
namespace, no puedes especificar el namespace completo, o el
compilador lo interpretera como un namespace dentro del actual. P.ej.:

// c1.cs
namespace A.b
{
class C1
{
}
}

// c2.cs
namespace A.b
{
class C2
{
A.b.C1 m_MiC1; // Error: no existe namespace A.b.A.b etc etc
}
}

El forms designer siempre escribe el namespace completo en las
declaraciones de las variables miembros, por lo que falla
continuamente al insertar controles que comparten el namespace con el
formulario.

Un saludo,
Diego Devesa


"Luison" wrote in message news:<#...
Hola

A mi paso algo parecido y el problema es que mi NameSpace dependía de otro
del framework y el VS no se daba cuenta y no me lo agregaba por lo que tenía
que agregarlo a mano en las referencias y para evitar problemas lo que hice
es que lo agrego antes de agregar el control, ahora eso me pasó porque a
pesar de heredar y definir mi nuevo control internamente use clases que
están definidas en el namespace que tiene el control del cual herede.

Luison

Luis A. Hereira Aguilera
Consultor de Negocios
Fidens S.A
www.fidens.cl
2350615 anexo 19
"Diego Devesa" escribió en el mensaje
news:
> Hola,
> Estoy usando el Visual Studio .NET 2003 para realizar un proyecto en C#.
En la
> solucion hay un proyecto de aplicacion y otro de biblioteca de clases (una
DLL).
> En la DLL tengo un control "MyListView" que extiende
> "System.Windows.Forms.ListView", en el namespace "Proyecto.GUI".
> En la aplicacion tengo un formulario, en el namespace
"Proyecto.Cliente.GUI",
> en el cual he puesto un control "MyListView".
>
> El problema es que el forms designer escribe el namespace completo al
declarar
> la variable para el control, y el compilador falla con un mensaje similar
a
> "The type or namespace name 'GUI' does not exist in the class or namespace
> Proyecto.Cliente.GUI.Proyecto' (are you missing an assembly reference?)".
>
> No seria mucho problema si pudiera corregir a mano la declaracion
incorrecta
> que hace el forms designer.
> Pero si intento hacerlo, el forms designer se pondra en modo "let's screw
> everything" y pasara a cargarse el control eliminando toda su parte de
> inicializacion que realiza en
> la funcion InitializeComponent() y atacandome continuamente con mensajes
de
> error en la lista de tareas. Lo que resulta realmente molesto.
>
> ¿Acaso estoy haciendo algo mal? ¿Es esto un problema conocido, existe
alguna
> solucion, a parte de usar namespaces que no interfieran entre si?
>
> Gracias.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida