2
respostas

Meu código não roda

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeinfelizmenteInsira aqui a descrição dessa imagem para ajudar na acessibilidade Infelizmente meu código não roda. Me ajudem.

2 respostas

O erro CS8802: Apenas uma unidade de compilação pode ter instruções de nível superior. indica que você está tentando usar mais de uma instrução de nível superior em seu projeto C#. Instruções de nível superior permitem que você escreva código fora do contexto de uma classe ou método, diretamente no escopo do namespace, mas apenas em um único arquivo. Parece que você tentou usar instruções de nível superior em mais de um arquivo no mesmo projeto.

Além disso, os erros CS0579: Duplicar atributo sugerem que há conflitos com os atributos gerados automaticamente pelo compilador, o que geralmente acontece quando você tenta compilar mais de uma vez sem limpar os artefatos de compilação anteriores, ou há uma configuração incorreta no projeto que está causando a geração duplicada desses atributos.

Aqui estão algumas soluções para os problemas mencionados:

Para o Erro CS8802

  • Reestruture seu Código: Certifique-se de que apenas um arquivo em seu projeto contém instruções de nível superior. Se você estiver usando mais de um arquivo para definir variáveis ou executar lógica fora de uma classe ou método, considere mover esse código para dentro de métodos ou classes apropriadas.

Para os Erros CS0579

  • Limpe seu Projeto: Execute o comando dotnet clean para limpar os artefatos de compilação anteriores que podem estar causando conflitos. Isso remove os arquivos gerados nas pastas bin/ e obj/, permitindo uma compilação limpa na próxima vez.

    dotnet clean
    
  • Recompile o Projeto: Após limpar, tente recompilar o projeto com dotnet build. Isso deve resolver os problemas de atributos duplicados.

    dotnet build
    

Sugestão de Código Reestruturado

Se você estiver tentando criar e manipular instâncias de uma classe Musica, considere colocar a lógica de criação e manipulação dentro de uma classe principal ou método. Por exemplo:

using System;

class Program {
    static void Main(string[] args) {
        Musica musical = new Musica();
        musical.nome = "Roxane";
        musical.artista = "The Police";
        Console.WriteLine($"Nome da música: {musical.nome}");
        Console.WriteLine($"Nome do artista: {musical.artista}");

        Musica musica2 = new Musica();
        musica2.nome = "Vertigo";
        musica2.artista = "U2";
        Console.WriteLine($"Nome da música: {musica2.nome}");
        Console.WriteLine($"Nome do artista: {musica2.artista}");
    }
}

class Musica {
    public string nome;
    public string artista;
}

Isso garante que todo o seu código relevante está contido dentro de métodos e evita problemas com instruções de nível superior distribuídas em múltiplos arquivos.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

eu segui do mesmo jeito que o cara do video estava fazendo, então pq o meu deu errado ??