【发布时间】:2019-07-31 23:12:26
【问题描述】:
真的。诡异的。嘘。
当我执行TFS Team Build(使用Remote Deploy)时,我在网页上的一些#if DEBUG preprocessor directives 代码不会被调用。当我手动 one-click deploy (remote deploy) preprocessor directive 代码有效。当我在本地调试时,代码也可以工作。
所以 - 问题似乎与我对 Build Template 的配置设置有关(我认为??)。所以,这就是我所拥有的:-
没什么太难的。那说... 请善良的编译器。在“调试”模式下构建我的项目(阅读:项目,而不是解决方案)。
我的代码如下:-
#if DEBUG
Log.Debug("We are in DEBUG mode.");
#else
Log.Debug("We are _NOT_ in DEBUG mode.");
#endif
因此,当调用此代码(在某些 aspx 页面中)时,它会打印出“我们处于调试模式”。什么时候
- 本地主机(本地主机配置:调试)
- 手动远程服务器一键重新部署(本地主机配置:调试)
但当我让 TFS 的持续集成开始时,就不会了。
FML。
我尝试查看是否是 CASING 情况(即 #if debug 或 #if Debug),但仍然无法正常工作。
然后我什至尝试明确地告诉 MSBuild 配置....
还是没有爱。
哦..但这是软木塞!我也有一些 web.config 转换
- web.config
- web.debug.config
- web.release.config
...你能猜出哪个文件得到了转换吗?如果您猜到了 all 场景的 web.debug.config ,则获胜者......即使是在代码中出错的团队构建!所以这就像构建过程和工作流知道这是一个DEBUG 配置..kewl!但编译后的代码没有???
最后,更改 debug="true" 或 debug="false" 没有区别。
在我跳出这栋楼之前,有人可以帮忙吗?当这些奇怪的问题不断出现在我的生活中时,它会杀死我。 叹息
请帮忙!
注意:我不能再接受为世界上最小的小提琴捐款 - 我已经得到了很多。干杯:)
【问题讨论】:
标签: asp.net debugging preprocessor