我正在编写一个监听2个udp端口,发送和接收udp消息以及创建一些日志的应用程序。我最初是从winform应用程序开始的,但是由于我不需要UI,因此将其转换为c#控制台应用程序。
问题是程序按预期工作时,我没有任何控制台输出,事实上我根本没有控制台。这是我的TAP模式代码。
static void Main(string[] args)
{
MainAsync(args).GetAwaiter().GetResult();
}
static async Task MainAsync(string[] args)
{
await createLogFolderIfNotExists();
new Server(new TextLogger("LogSistema"), //log del sistema para detectar errores
new List<ILogger>()
{ new TextLogger(System.Configuration.ConfigurationManager.AppSettings.Get("ArchivoLog")), new DebugLogger() }, //lista de loggers de usuario
new UdpListener(514),
new UdpListener(33500)
);
await Task.Delay(-1);
}
private static Task<int> createLogFolderIfNotExists()
{
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"SMPS");
if (Directory.Exists(path))
return Task.FromResult(0);
System.IO.Directory.CreateDirectory(path);
return Task.FromResult(0);
}
为什么我没有控制台?
编辑:解决方案是将项目输出更改为控制台应用程序,因为它位于Windows应用程序设置中。