为什么 `#if WINDOWS_PHONE_APP` 代码是灰色的?

Why is the `#if WINDOWS_PHONE_APP` code greyed out?

我正在构建一个 Windows 通用应用程序。在 App.xaml.cs 文件中,指令用于将针对 Windows Phone 8.1 商店的代码与针对 Windows 桌面商店的代码分开:

#if WINDOWS_PHONE_APP

然而,当我开发时,我看到活动项目的代码,Windows Phone 8.1 项目,是灰色的。

为什么?

如何让 Visual Studio 意识到 #if WINDOWS_APP 代码应该变灰并且 #if WINDOWS_PHONE_APP 代码应该正常呈现?

它在图像中显示为灰色,因为您处于 Windows 应用程序的上下文中——请查看代码 window 上方最左侧的下拉菜单,其中显示Things.Windows -- 这会将上下文设置为 Windows 应用程序。如果您将下拉列表更改为 Things.WindowsPhone,那么它会将上下文切换到 Windows Phone 应用程序。

Solution Explorer 中的粗体项目仅表示当您按 F5 时哪个应用程序将 运行;它不确定活动上下文是什么。