¿Por qué no se puede encontrar mi enumeración en otra clase? -- # campo con visual-studio campo con enums campo con xamarin.android camp Relacionados El problema

Why can't my enum be found in another class?


1
vote

problema

Español

Al intentar acceder a un enum , llamado monstruos, de otra clase, Visual Studio me da el error "No se pudo encontrar el nombre del tipo o el nombre de espacio de nombres" (¿está perdiendo una directiva usando? ¿O una referencia de ensamblaje?) ", a pesar de tener un código Monsters.Zombie1 asociado en mi clase.

Aquí está mi código enumio:

  namespace Zadify.Enums {     public enum Monsters     {         Zombie,         Skeleton,         Mummy,         Robot,         Demon     } }   

y aquí está mi clase, necesito acceder a él desde:

  using System; using System.Xml.Serialization; using Zadify.Enums;  namespace Zadify {     [Serializable]     public abstract class Goal     {         //Properties, Other methods          public void AssignMonsterData(int rank)         {             var random = new Random();              var monsterTypeValues = Enum.GetValues(typeof (Monsters)); //Gives the error on "Monsters" here             var monster = (Monsters) monsterTypeValues.GetValue(random.Next(rank - 1)); //Also gives the error on this "Monsters"              //Do other stuff         }   

Luego, hago un switch en monster , y parece estar bien con cada vez que uso Monsters.Zombie , Monsters.Skeleton < / Código>, etc. También tengo varios otros enums en Zadify.Enums que todos funcionan bien, y, de hecho, uso el mismo código exacto en ellos en esta clase.

Hasta ahora he intentado cambiar el Monsters.Zombie10 Monsters.Zombie1111 a ese nuevo using2 , copiando 99887776613 en otro archivo, limpiando el proyecto y reconstruyendo cien veces. Estoy usando Visual Studio 2010 y estoy escribiendo una aplicación Mono para Android, aunque no hay un código de Android en estas clases.

Visual Studio no parece tener un problema hasta que construyo. De antemano, IntelliSense funciona bien, si saco la línea Monsters.Zombie14 , pregunta si eso es lo que quiero hacer referencia, y Ctrl + Haciendo clic en el archivo correcto.

Si hay algún otro código que debería proporcionar, házmelo saber.

Original en ingles

When trying to access an enum, called Monsters, from another class, Visual Studio gives me the error "The type or namespace name 'Monsters' could not be found (are you missing a using directive or an assembly reference?)", despite having an associated using in my class.

Here is my enum code:

namespace Zadify.Enums {     public enum Monsters     {         Zombie,         Skeleton,         Mummy,         Robot,         Demon     } } 

And here is my class I need to access it from:

using System; using System.Xml.Serialization; using Zadify.Enums;  namespace Zadify {     [Serializable]     public abstract class Goal     {         //Properties, Other methods          public void AssignMonsterData(int rank)         {             var random = new Random();              var monsterTypeValues = Enum.GetValues(typeof (Monsters)); //Gives the error on "Monsters" here             var monster = (Monsters) monsterTypeValues.GetValue(random.Next(rank - 1)); //Also gives the error on this "Monsters"              //Do other stuff         } 

I later do a switch on monster, and it seems to be fine with every time I use Monsters.Zombie, Monsters.Skeleton, etc. I also have several other enums in Zadify.Enums that all work fine, and, in fact, I use the exact same code on them in this class.

So far I have tried changing the enum's namespace and adding a using to that new namespace, copying Monsters into another file, cleaning the project, and rebuilding a hundred times. I'm using Visual Studio 2010 and writing a Mono for Android app, though there is no Android code in these classes.

Visual Studio doesn't seem to have a problem until I build. Beforehand, intellisense works fine, if I take out the using Zadify.Enums; line, it asks if that's what I want to reference, and ctrl+clicking it brings me to the proper file.

If there is any other code I should provide, let me know.

           
         
         

Lista de respuestas

1
 
vote

@ zad-man, revise la configuración de perfil de su cliente.

  1. Haga clic con el botón derecho en el proyecto
  2. Debería estar en la pestaña de la aplicación
  3. Mira el marco de destino desplegable

¿Está configurado en .Net Framework xx Client Profile ? Me he encontrado con problemas extraños antes de que Visual Studio predetermea mis proyectos a eso, intente cambiarlo a .Net Framework 4 sin la parte del perfil del cliente y vea si funciona.

La pantalla que está buscando es similar a esta:

ingrese la descripción de la imagen aquí

 

@ZAD-Man, check your client profile settings.

  1. Right-click the project
  2. You should be on the Application tab
  3. Look at the Target framework drop-down

Is it set to .Net Framework xx Client Profile? I've run into weird issues before where Visual Studio defaults my projects to that... try changing it to .Net Framework 4 without the client profile part and see if it works.

The screen you're looking for is similar to this:

enter image description here

 
 
   
   
0
 
vote

La razón por la que podría estar sucediendo es que la clase no se está agregando a la clase de clase. También verifique si las referencias se le agregan esta clase de clase.

 

The reason it could be happening is that the class is not being added to the classlibrary. Also check if references has this classlibrary added to it.

 
 
         
         
0
 
vote
vote
La mejor respuesta
 

Así que resulta que acabo de cometer un error tonto. Tuve Goal.cs agregado como un enlace en otro proyecto, pero se olvidó de vincular mis enumias. La única razón por la que el otro no tuvo un problema fue porque se estaba atrapando en Monsters y no mirando a los demás. Dado que fue un enlace, al hacer clic en la excepción, simplemente me llevó al verdadero .Net Framework xx Client Profile10 , así que pensé que el problema estaba en ese proyecto, pero si me veía más cerca, lo habría visto, fue el otro proyecto. .

 

So it turns out I just made a dumb mistake. I had Goal.cs added as a link in another project, but forgot to link my enums. The only reason the other didn't have a problem was because it was getting caught on Monsters and not looking at the others. Since it was a link , clicking the exception just brought me to the real Goal.cs, so I thought the problem was in that project, but if I'd looked closer I would have seen it was the other project.

 
 
0
 
vote

Tuve esto. El problema fue que el proyecto de referencia había cambiado accidentalmente a su objetivo a X86, mientras que el objetivo del proyecto Enum era todavía cualquier CPU.

 

I had this. The problem was the referencing project had accidentally had its target changed to x86, whereas the enum project target was still Any CPU.

 
 
 
 

Relacionados problema

1  Usando Monotouch / Mono para Android con Eclipse IDE  ( Using monotouch mono for android with eclipse ide ) 
Actualmente estoy haciendo mis primeros pasos con Monotouch y me gustaría continuar con Mono para Android pronto. Hasta ahora estoy usando el IDE de Monodevel...

9  Formularios de Xamarin genera incorrectos en Ressources  ( Xamarin forms generates wrong ressources ) 
Tengo una aplicación de Xamarin Android con formas Xamarin. Después de la actualización de Xamarin Forms 3.4.0.1029999, tengo entradas en mi Resource.Designer...

2  Usa la biblioteca C ++ / CLI en Xamarin.Android  ( Use c cli library in xamarin android ) 
Tengo una aplicación de Android en la que quiero usar algunas funciones importadas de la biblioteca C ++ / CLI. Sin embargo, a medida que los proyectos C ++ /...

-1  ¿Cómo obtener la altura y el ancho de la vista?  ( How to get the height and width of the view ) 
Necesito obtener la altura y el ancho de la vista antes de agregar el diseño o su pantalla. He intentado usar medidos y medidos de la vista, pero su returs co...

0  Trabajando con filas de Dataset  ( Working with dataset rows ) 
Tengo un conjunto de datos que obtengo de un servicio web con el que relleno una vista de lista. Hasta ahora lo he estado haciendo así: WPF5 Pero ese VA...

3  Error de recursos de diseño no definido, pero existe el recurso  ( Undefined layout resource error but resource does exists ) 
Estoy siguiendo este tutorial: http://docs.xamarin.com/android/tutorials / User_interface / list_view Tengo list_item.xml en HelloListView/Resources/la...

0  ¿Cambiar el tamaño de la fuente en Xamarin.es y el modificador del cursor de Xamarin.Android?  ( Change font size in xamarin ios and xamarin android cursor modifier ) 
Tengo tablas con 15-17 líneas y el modificador del cursor corta la vista a las 6 en los teléfonos. Se ve muy bien en las tabletas, pero en los teléfonos, como...

0  ¿Cómo abro PDF de la carpeta Activos en Xamarin.Android  ( How do i open pdf from assets folder in xamarin android ) 
Quiero abrir un PDF en cualquier PDFViewer y mi archivo PDF se coloca en la carpeta Activos. Intenté hacerlo después, pero el proveedor de archivos también ...

1  Android N Intent Extras es nulo cuando los pongo en la notificación PUSH Oyente GCM  ( Android n intent extras is null when i put them in push notification gcm listene ) 
Estoy trabajando con notificaciones de empuje en Android n. Puse extras en la intención pendiente: intent = new Intent(this, typeof(MainActivity)); ...

-1  ¿Cómo descargar la imagen, ya que JPG lo comprime y lo muestra en un ImageView?  ( How to download image as jpg compress it and display it in a imageview ) 
¿Cómo puedo descargar una imagen de una URL, comprimirla y mostrarla en una vista de imagen? La forma en que lo estoy haciendo ahora, estoy usando un mapa d...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos