4
respostas

[Bug] ERRO AO EXECUTAR O CODIGO

Ao realizar a depuração do meu codigo, simplesmente nao abre o cmd me mostrando a saída, e nem aparece nenhuma mensagem de erro. Segue o link meu tentando executar o codigo: https://somup.com/cZVZbjks1H.

class Banda { private List albuns = new List(); public string Nome { get; set; }

public void AdicionarAlbum(Album album)
{
    albuns.Add(album);
}
public void ExibirDiscografia()
{
    Console.WriteLine($"Discografia da banda {Nome}");
    foreach (Album album in albuns)
    {
        Console.WriteLine($"Album: {album.Nome} ({album.DuracaoTotal}) ");
    }
}

}

class Genero { public string GeneroMusical { get; set; }

}

class Musica

{ public Musica(Banda artista) { Artista = artista; }

public string Nome { get; set; }

public Banda Artista { get; }

public int Duracao { get; set; }

public bool Disponivel { get; set; }

public Genero Genero { get; set; }


public string DescricaoResumida
{
    get
    {
        return $"A música {Nome} pertence à banda {Artista}";
    }
}

public void ExibirFichaTecnica()
{
    Console.WriteLine($"Nome: {Nome}");
    Console.WriteLine($"Artista: {Artista}");
    Console.WriteLine($"Duração: {Duracao}");
    if (Disponivel)
    {
        Console.WriteLine("Disponibilidade: Disponivel no plano");
    }
    else
    {
        Console.WriteLine("Disponibilidade: Adquira o plano Plus+");
    };
}

public void ExibirNomeEArtista()
{
    Console.WriteLine($"Nome/Artista: {Nome} - {Artista}");
}

}

class Album

{ private List musicas = new List();

public string Nome { get; set; }

public int DuracaoTotal 
{
    get
    {
        return musicas.Sum(m => m.Duracao);
    }
}


public void AdicionarMusica(Musica musica)
{
    musicas.Add(musica);
}

public void ExibirMusicasDoAlbum()
{
    Console.WriteLine($"Lista de Músicas do album {Nome}: \n");
    foreach (var musica in musicas)
    {
     Console.WriteLine($"Musica: {musica.Nome}");
    }
    Console.WriteLine($"\nPara ouvir esse album inteiro, voce precisa de {DuracaoTotal} segundos");
}

}

Banda queen = new Banda();

queen.Nome = "Queen";

Album albumDoQueen = new Album(); albumDoQueen.Nome = "A night at the opera";

Musica musica1 = new Musica(queen); musica1.Nome = "Love of my life"; musica1.Duracao = 213;

Musica musica2 = new Musica(queen); musica2.Nome = "Bohemian Rhatsody"; musica2.Duracao = 312;

albumDoQueen.AdicionarMusica(musica1); albumDoQueen.AdicionarMusica(musica2);

albumDoQueen.ExibirMusicasDoAlbum(); queen.AdicionarAlbum(albumDoQueen); queen.ExibirDiscografia(); Console.WriteLine("Hello");

4 respostas

Pelo que vi no seu vídeo, o Console abre e rapidamente fecha. Imagino que a opção Tools>Options>Debugging>General>Automaticallyc close the console when debugging stops esteja habilitada. Você pode só desabilitar ela ou no final no seu código, inserir um Console.ReadLine();

Banda queen = new Banda();
queen.Nome = "Queen";

Album albumDoQueen = new Album();
albumDoQueen.Nome = "A night at the opera";

Musica musica1 = new Musica(queen); 
musica1.Nome = "Love of my life";
musica1.Duracao = 213;

Musica musica2 = new Musica(queen);
musica2.Nome = "Bohemian Rhatsody";
musica2.Duracao = 312;

albumDoQueen.AdicionarMusica(musica1);
albumDoQueen.AdicionarMusica(musica2);

albumDoQueen.ExibirMusicasDoAlbum(); queen.AdicionarAlbum(albumDoQueen);
queen.ExibirDiscografia();
Console.WriteLine("Hello");
Console.ReadLine();

Olá Henrique, tudo bem? Obrigado pela resposta. Infelizmente, não da certo colocar "Console.ReadLine();" no final do codigo, ele continua fechando da mesma forma, já tinha tentado anteriomente isso A opção General>Automaticallyc close the console when debugging stops já esta desabilitada

![](![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/1879250/2d2ee941-ba9c-4210-82b9-3bb1b99a4942.png![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/1879250/f27dc3c8-95b6-4349-b19d-ef41739388e7.png) ) )

Ainda permaneço com o problema :(

Experimenta o seguinte:

  1. Abre o cmd ou PowerShell
  2. Navega para a pasta da solução (comando: cd C:\caminho\para\a\solucao)
  3. Execute, comando: dotnet run

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

Se der tudo certo, imagino que o problema seja alguma configuração do projeto ou VisualStudio. Nesse caso, provavelmente a saída mais fácil vai ser criar um projeto novo e copiar/colar esse código. Se não, deve aparecer algum erro/exception.

Olá Henrique, tudo bem?

O rodei o programa pelo cmd e o resultado foi o esperado da imagem, vou fazer como voce falou, criar um novo projeto e transferir os codigos. Outros projetos meus estão funcionando normal, apenas esse que esta com esse problema.Insira aqui a descrição dessa imagem para ajudar na acessibilidade Muito obrigado pela ajuda