2013-01-03 31 views
6

我有这个简单的代码:在C#中跳过方法调用?

void Application_BeginRequest(object sender, EventArgs e) 
    { 
     Trace.Write("Exception Handling", "......"); 
    } 

但是重新清晰尖叫(无差错只能建议)约:

enter image description here

方法调用被跳过。编译器不会产生方法 调用,因为该方法是有条件的,或者是不执行

部分 方法,我无法看到在跟踪输出这一行。

但是 - 其他痕迹 - 我明白了。

这是为什么?

(p.s.页面(在网站项目下)有trace="true")。

+0

'trace == true'与TRACE –

+0

@HenkHolterman无关你是什么意思? '<%@ Page Trace =“true”%>'允许我追踪。 (你能解释一下吗?) –

+0

删除'使用System.Diagnostics;' –

回答

18

要确保TRACE常数在您的项目设置中定义为当前构建配置。

enter image description here

UPDATE

因为它是一个网站项目,你可以把

#define TRACE 

Global.asax.cs的顶部,使得跟踪符号被定义。

+0

我在网站...它没有这个菜单。 –

+0

@RoyiNamir @RoyiNamir更新,对不起,最初不知道它是一个网站项目 – mlorbetske

+0

http://i.stack.imgur.com/msKVj.jpg –

2

引述the JetBrains wiki(可能*可以在“为什么ReSharper的建议这种”挂在ReSharper的菜单):

虽然编码,你可能会遇到关于其 调用将不会生成方法警告由编译器。为什么会这样? 典型案例是不会编译的条件方法(例如, 它标记为[ReSharperInt:Conditional("DEBUG")],而您处于 RELEASE模式)。一种方法可能会被跳过的另一个原因是, 在某些时候,它的主体被声明为partial,并且没有提供 实现。

鉴于这是在Trace的方法,我建议这些典型案例的第一个是适用的。

*我没有得到V7还

+1

1)我的全局asax文件不是部分。 2)我在调试模式下。 –