我有几个调试语句,我用编译器引用进行了包装。
#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>
这对我来说看起来非常好,但我仍然有这种奇怪的行为。