web-dev-qa-db-fra.com

Erreur "Un espace de noms ne contient pas directement des membres tels que des champs ou des méthodes"

J'essaie de créer mon projet C # et j'obtiens le message d'erreur "Un espace de noms ne contient pas directement des membres tels que des champs ou des méthodes". Il marque le premier caractère (le symbole inférieur à) du fichier app.config.

J'ai vérifié tous mes fichiers pour les endroits où il y a des variables ou des fonctions directement à l'intérieur d'un espace de noms - rien trouvé. L'app.config semble bien.

Google me fait défaut et j'arrache mes cheveux. Quelle pourrait être la cause de cette erreur?

37
BoltBait

Les figures! Dès que je tombe enfin en panne et pose la question que je trouve la réponse ...

La section des propriétés du fichier app.config (d'une manière ou d'une autre) répertorie l'action de génération de "Compiler" lorsqu'elle doit être définie sur "Aucune".

Comment dans le monde at-il changé? Je sais que je ne l'ai pas changé. Grrr ...

Eh bien, au moins c'est en train de construire maintenant. J'espère que quelqu'un d'autre bénéficiera de ma perte de cheveux.

57
BoltBait

J'ai réussi à reproduire l'erreur.

Vérifiez les propriétés du fichier app.config. Le Build Action doit être None, pas Compile.

5
Guffa

J'étais confronté à ce même problème avec le fichier XML. Cela était dû au fait que le compilateur .net a essayé de compiler ce fichier XML qui a été utilisé uniquement à des fins de données, donc pas besoin de compilation.

Correction: accédez à la propriété de ce fichier et modifiez l'action de génération en contenu de la compilation.

Merci

0
Siva

Dans mon cas, j'ai par erreur mis une nouvelle fonction en dehors de la classe du contrôleur. C'était mon code dans ASP.NET MVC qui donnait cette erreur.

public class HomeController : Controller
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }       
    }

    [HttpPost]
    public string Insert(string name, string age, string standard, string percent, string address, string status)
    {
        //some code
        return "value";
    }
}

Cela devrait être comme:

public class HomeController : Controller
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public string Insert(string name, string age, string standard, string percent, string address, string status)
        {
            //some code
            return "value";
        }       
    }        
}
0
yogihosting

J'ai eu la même erreur. Vérifié si le fichier app.config était défini sur aucun, aucun problème. Après 30 minutes de vérification et de revérification, j'ai redémarré VS et c'est ce qui a fait l'affaire. Il résout généralement 90% des erreurs non logiques. Soupire.

0
Zwadderich

J'avais un problème similaire avec le code derrière sur mon site Web. Le problème s'est avéré être un crochet de fermeture supplémentaire qui a entraîné la fin de ma classe juste après page_load (). Vérifiez toujours les erreurs de syntaxe idiotes comme celle-ci.

0
Charles Driver Jr.

Cette erreur se produit lorsque vous essayez d'ajouter un champ ou un membre directement dans un espace de noms. Étant donné qu'il pointe vers app.config, il est probable que VS soit en mauvais état. Essayez de fermer et de rouvrir Visual Studio et voyez si l'erreur disparaît.

À défaut, essayez de reconstruire et de publier les résultats de la fenêtre de sortie de génération à votre question.

0
JaredPar

J'ai résolu ce problème: clic droit sur le fichier .axml -> Build Action -> AndroidResource (xamarin studio)

0
alin0509