随着web.config中的调试设置消失,什么设置打开和关闭调试以及.Net 5(MVC 6项目)中以下内容的等价物(如果有)?
#define DEBUG // ... #if DEBUG Console.WriteLine("Debug version"); #endif
解决方法
UPDATE
自从写完这个答案后,我了解到.Net Core中的新方法是使用环境变量.你可以找到一篇文章here和更多信息here.
您可以在debug下的项目属性中设置环境变量.在使用DI注入IHostingEnvironment后,代码看起来就像
if (env.IsDevelopment()) { //... }
结束更新
@user2095880的答案是有效的,并且确实有效.但是,您可能需要一个不需要将project.json更改为生产的解决方案.
#if DEBUG app.Run(async (context) => { await context.Response.WriteAsync("Hello DEBUG CODE!"); }); #else app.Run(async (context) => { await context.Response.WriteAsync("Hello LIVE CODE!"); }); #endif
如果您在Debug或其他地方,这将检查您的解决方案配置(仍然可以在.Net 5中运行).如果您的解决方案配置设置为Debug,则第一组代码将运行.如果选择Release(或其他任何内容),则第二个代码部分将运行.请参阅下图,了解从Debug到Release的下拉列表.