Pergunta

Estou tentando construir meu projeto C# e recebo a mensagem de erro "Um namespace não contém membros diretamente, como campos ou métodos".Ele está sinalizando o primeiro caractere (o símbolo menor que) do arquivo app.config.

Verifiquei todos os meus arquivos em busca de locais onde existam variáveis ​​​​ou funções diretamente dentro de um namespace - não encontrei nada.O app.config parece bom.

O Google está falhando comigo e estou arrancando os cabelos.O que poderia estar causando esse erro?

Foi útil?

Solução

Figuras!Assim que finalmente desaba e faço a pergunta, encontro a resposta...

A seção de propriedades do arquivo app.config (de alguma forma) listou a ação de construção de "Compile" quando deveria ser definida como "None".

Como no mundo isso mudou?Eu sei que não mudei.Grr...

Bem, pelo menos está construindo agora.Espero que outra pessoa se beneficie da minha queda de cabelo.

Outras dicas

Consegui reproduzir o erro.

Verifique as propriedades do arquivo app.config.O Build Action deveria estar None, não Compile.

Este erro ocorre quando você tenta adicionar um campo ou membro diretamente em um namespace.Dado que está apontando para app.config, é provável que o VS esteja em mau estado.Tente fechar e reabrir o Visual Studio e veja se o erro desaparece.

Caso contrário, tente reconstruir e postar os resultados da janela de saída da compilação para sua pergunta.

Eu resolvi assim:clique com o botão direito do mouse no arquivo .axml -> Build Action ->AndroidResource (Estúdio Xamarin)

Eu tive o mesmo erro.Verificado se o app.config foi definido como nenhum, sem problemas.Após 30 minutos de verificação e verificação novamente, reiniciei o VS e pronto.Geralmente resolve 90% dos erros não lógicos.Suspiros.

Eu estava tendo um problema semelhante com o código por trás do meu site.O problema acabou sendo um colchete de fechamento extra que fez com que minha classe terminasse logo após page_load().Sempre verifique se há erros de sintaxe bobos como este.

Eu estava enfrentando esse mesmo problema com o arquivo XML.Isso ocorreu porque o compilador .net tentou compilar este xml que foi usado apenas para fins de DADOS, portanto, não há necessidade de compilação.

Consertar :Vá para a propriedade deste arquivo e altere Build Action para conteúdo da compilação.

Obrigado

No meu caso, coloquei por engano uma nova função fora da classe do controlador.Esse era meu código em ASP.NET MVC que estava dando esse erro.

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";
    }
}

Deveria ser assim:

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";
        }       
    }        
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top