真的。诡异的。嘘。
当我做一个TFS Team Build
(with Remote Deploy
), some #if DEBUG
预处理器指令 https://www.microsoft.com/en-us/download/details.aspx?id=55979我在网页上的代码不会被调用。当我manually one-click deploy (remote deploy)
the preprocessor directive
代码有效。当我在本地调试时,代码也可以运行。
所以 - 问题看起来与我的配置设置有关Build Template
我有(我想?)。所以,这就是我所拥有的:-
没什么太难的。说的是 ...请好心编译器。在“调试”模式下构建我的项目(阅读:项目,而不是解决方案)。
我的代码如下:-
#if DEBUG
Log.Debug("We are in DEBUG mode.");
#else
Log.Debug("We are _NOT_ in DEBUG mode.");
#endif
因此,当调用此代码(在某些 aspx 页面中)时,它会打印出“我们处于调试模式”。当它是
- 本地主机(本地主机配置:调试)
- 远程服务器与manual一键重新部署(本地主机配置:调试)
但当我让 TFS 持续集成启动时就不是了。
FML.
我试图看看这是否是一个外壳情况(即#if debug
or #if Debug
)但它仍然不起作用。
然后我什至尝试明确地告诉 MSBuild 配置....
还是没有爱。
哦..但这就是软木塞!我ALSO有一些 web.config 转换
- 网络配置
- 网络调试配置
- web.release.config
...你能猜出哪个文件是转变的??如果你猜中了 web.debug.config 则获胜all场景的......甚至团队构建在代码中出现错误!所以这就像构建过程和工作流程知道它是DEBUG
配置..kewl!但编译后的代码没有???
最后,改变debug="true"
or debug="false"
没有什么区别。
在我跳出这栋大楼之前有人可以帮忙吗?当这些奇怪的问题不断出现在我的生活中时,我会很伤心。sigh
请帮忙!
注意:我不能再接受世界上最小的小提琴的捐赠——我已经得到了很多。干杯:)