En Visual Studio 10 - Visual Basic, ¿por qué no puedo importar "System.Drawing" cuando mi única referencia es "Sistema"? Puedo importar "System.Runtime.InteropServices".Visual Basic, ¿por qué no puedo importar "System.Drawing" cuando mi única referencia es "Sistema"?
Para reproducir mi problema:
1. Cree un nuevo proyecto en Visual Studio 10 con la plantilla de la biblioteca de clases de Visual Basic.
2. Agregue "Imports System.Drawing" e "Imports System.Runtime.InteropServices" al principio.
3. Elimine todas las referencias excepto "Sistema" en el panel Referencias de las propiedades del proyecto.
Resultado: Visual Studio no puede encontrar "System.Drawing" pero puede encontrar "System.Runtime.InteropServices". "System.Drawing" está completamente calificado para que el sistema pueda encontrarlo dentro del "Sistema" al que se hace referencia.
Pensamientos: Parece que "Sistema" y "Sistema.Dibujo" son espacios de nombres (¿o contenedores?) Distintos, entonces ¿por qué la calificación no "." ¿trabajo? Hace "." representar algo más?
"Sistema" también está en "mscorlib" pero ¿es ese el espacio de nombres que se usa o es otro?
"Microsoft.VisualBasic" también aparece en los espacios de nombres importados, pero no hay una referencia al mismo. ¿Cómo se encontró? ¿De dónde viene la lista "Espacios de nombres importados"?
Un enlace a cualquier información relacionada de la biblioteca de MSDN definitivamente sería útil. Lo he estado buscando durante un tiempo pero no puedo entender por qué "System.Drawing" no se importa.
Entonces, si entiendo correctamente, 'imports System' extraerá todos los ensamblados que definen todo el espacio de nombres' System'. Por otro lado, 'imports mscorlib' solo dibujaría la parte que se define como ensamblado. – mdinger
¡NO! La instrucción Imports solo funciona con espacios de nombres. No sabe * nada * sobre asambleas. Voy a editar mi respuesta para explicar esto. –
Esa es una distinción de importación que tiene mucho sentido.Antes de que me lo explicaras, habría dicho que las referencias hacen que los recursos estén disponibles para ser importados al proporcionar la ubicación del archivo de recursos; sin embargo, los recursos solo pueden ser accesibles a través de la declaración de 'Importaciones'. Gracias por su esfuerzo. Anteriormente los encontré muy desconcertantes y poco claros. Ahora, hacer referencia e importar tiene mucho más sentido. – mdinger