Coloquei algumas Console.WriteLine
chamadas para teste, mas elas não estão aparecendo na caixa de saída?
public static ArrayList myDeliveries = new ArrayList();
public mainForm(){
InitializeComponent();
}
private void mainForm_Load(object sender, EventArgs e){
if (!File.Exists("../../MealDeliveries.txt")){
MessageBox.Show("File not found!");
return;
}
using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){
//first line is delivery name
string strDeliveryName = sr.ReadLine();
Console.WriteLine("Test content");
while (strDeliveryName != null){
//other lines
Delivery d = new Delivery(
strDeliveryName,
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine(),
sr.ReadLine()
);
mainForm.myDeliveries.Add(d);
//check for further values
strDeliveryName = sr.ReadLine();
}
}
displayDeliveries();
}
private void displayDeliveries(){
lstDeliveryDetails.Items.Clear();
Console.WriteLine("Test content");
Console.WriteLine(mainForm.myDeliveries.Count);
foreach (Delivery d in mainForm.myDeliveries){
lstDeliveryDetails.Items.Add(d.DeliveryName);
}
}
Alguém pode ajudar ??
Respostas:
Se você pretende usar essa saída na produção, use os membros da classe Trace . Isso torna o código portátil, você pode conectar diferentes tipos de ouvintes e enviar para a janela de console, janela de depuração, arquivo de log ou qualquer outra coisa que desejar.
Se for apenas um código de depuração temporário que você está usando para verificar se determinado código está sendo executado ou tem os valores corretos, use a classe Debug como Zach sugere.
Se for absolutamente necessário usar o console, você pode anexar um console ao
Main
método do programa .fonte
Console
as saídas para a janela do console e aplicativos WinForms não mostram a janela do console. Você deve ser capaz de usarSystem.Diagnostics.Debug.WriteLine
para enviar a saída para a janela de saída em seu IDE.Edit: Em relação ao problema, você verificou que
mainForm_Load
está realmente sendo chamado? Você pode colocar um ponto de interrupção no início demainForm_Load
para ver. Se não está sendo chamado, suspeito quemainForm_Load
não esteja ligado aoLoad
evento.Além disso, é mais eficiente e geralmente melhor substituir em
On{EventName}
vez de assinar a{EventName}
partir de classes derivadas (no seu caso, substituir emOnLoad
vez deLoad
).fonte
Import System.Diagnostics
para torná-lo muito mais simples. E eu prefiro usar aTrace
classe para isso.System.Diagnostics.Debug.WriteLine
.Se você deseja que a
Console.WriteLine("example text")
saída apareça na janela Depurar saída, altere temporariamente o tipo de saída de seu aplicativo de aplicativo de console para aplicativo do Windows.Nos menus, escolha Projeto + Propriedades e navegue até Tipo de saída: suspenso, mude para Aplicativo do Windows e execute seu aplicativo
Claro que você deve alterá-lo de volta para construir um aplicativo de console destinado a ser executado fora do IDE.
(testado com Visual Studio 2008 e 2010, espera-se que funcione nas últimas versões também)
fonte
Usando
Console.WriteLine( "Test" );
é capaz de gravar mensagens de log na janela de saída (Menu Exibir -> Saída) no Visual Studio para um projeto Windows Forms / WPF.No entanto, encontrei um caso em que não estava funcionando e apenas
System.Diagnostics.Debug.WriteLine( "Test" );
estava funcionando. Eu reiniciei o Visual Studio eConsole.WriteLine()
comecei a trabalhar novamente. Parece ser um bug do Visual Studio.fonte
Se estiver desenvolvendo um aplicativo de linha de comando, você também pode usar
Console.ReadLine()
no final do seu código para aguardar o pressionamento da tecla 'Enter' antes de fechar a janela do console para que possa ler a saída. No entanto, as respostas de rastreamento e depuração postadas acima são opções melhores.fonte
Tente desmarcar a caixa de seleção “Use Managed Compatibility Mode” em
Funcionou para mim
fonte
Quando o problema está acontecendo no Mac VS 2017 (que enfrentei).
Execute o código do seu aplicativo agora.
fonte
Thread antigo, mas no console do VS 2015.WriteLine não grava na janela de saída se "Habilitar o processo de hospedagem do Visual Studio" não estiver marcado ou estiver desabilitado em Propriedades do projeto -> guia Depurar
fonte
Selecione view >> Output para abrir a janela de saída.
Na janela de saída, você pode ver o resultado
fonte