0

我有几个调试语句,我用编译器引用进行了包装。

#if DEBUG
    Debug.WriteLine("Debug statement");
#endif

但是,在 Debug 配置中,DEBUG 似乎等于 false,而在 Release DEBUG 中似乎等于 true。

这只发生在看起来像单个项目的项目中,我成功地从其他项目中获取调试语句。

这是我认为 .csproj 文件的相关部分

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

这对我来说看起来非常好,但我仍然有这种奇怪的行为。

4

1 回答 1

0

没错,问题是我正在检查 x86 平台的设置(定义了 DEBUG 常量)。

然后我针对没有定义它们的 AnyCPU 平台进行构建。

完全是我的错...

于 2013-04-07T22:52:02.633 回答