Asp.net mvc 发布时未编译调试模式的代码

Asp.net mvc 发布时未编译调试模式的代码,asp.net-mvc,publish,preprocessor-directive,debug-mode,Asp.net Mvc,Publish,Preprocessor Directive,Debug Mode,有些地方我使用#if DEBUG编译器指令来选择要编译的代码。直到不久前,我才能够以调试或发布模式发布我的ASP.NET MVC应用程序。事实上,我仍然可以做到这一点。但是现在,出于某种原因,无论我选择哪种模式,我只会在输出中获得发布代码。如果我使用.NET Reflector查看生成的dll,我可以看到\If DEBUG之后的代码不存在。 我已经检查了项目属性中调试模式的定义调试常量。我能让它工作的唯一方法是显式定义调试常量。除了发布时的发布设置之外,还有其他地方可以配置发布设置吗?经过大量的

有些地方我使用
#if DEBUG
编译器指令来选择要编译的代码。直到不久前,我才能够以调试或发布模式发布我的ASP.NET MVC应用程序。事实上,我仍然可以做到这一点。但是现在,出于某种原因,无论我选择哪种模式,我只会在输出中获得发布代码。如果我使用.NET Reflector查看生成的dll,我可以看到
\If DEBUG
之后的代码不存在。 我已经检查了项目属性中调试模式的
定义调试常量
。我能让它工作的唯一方法是显式定义调试常量。除了发布时的发布设置之外,还有其他地方可以配置发布设置吗?

经过大量的挖掘(在发布这个问题之后),我在ProjectName | Properties | PublishProfiles下找到了一个名为MyProjectName.pubxml的文件:

在那里我发现了这句话:

   <DebugSymbols>False</DebugSymbols>
False
将此设置为True后,它最终得到解决并按预期工作。我还注意到,
LastUsedBuildConfiguration
的值是Release,尽管它实际上是Debug。希望这有助于候选人浪费时间

编辑

我再次面临同样的问题,但这次我需要的是相反的发布模式。这次更改上述文件并没有解决问题。因此,我决定做我认为最好的事情:只需删除PublishProfiles文件夹,以便在下次尝试发布应用程序时提示您创建新的发布配置文件。这就解决了问题

EDIT2

伙计,我没意识到有选择配置的选项。我们需要选择要发布到的配置,无论VisualStudio本身选择了什么配置

经过大量的挖掘(在发布这个问题之后),我在ProjectName | Properties | PublishProfiles下找到了一个名为MyProjectName.pubxml的文件:

在那里我发现了这句话:

   <DebugSymbols>False</DebugSymbols>
False
将此设置为True后,它最终得到解决并按预期工作。我还注意到,
LastUsedBuildConfiguration
的值是Release,尽管它实际上是Debug。希望这有助于候选人浪费时间

编辑

我再次面临同样的问题,但这次我需要的是相反的发布模式。这次更改上述文件并没有解决问题。因此,我决定做我认为最好的事情:只需删除PublishProfiles文件夹,以便在下次尝试发布应用程序时提示您创建新的发布配置文件。这就解决了问题

EDIT2

伙计,我没意识到有选择配置的选项。我们需要选择要发布到的配置,无论VisualStudio本身选择了什么配置


在“项目属性”中的“生成”选项卡下,是否已选中调试配置的“定义调试常量”?@DavidG,是,当然。在我的问题中,我已经说过了。在项目属性中,在“构建”选项卡下,是否检查了调试配置的“定义调试常量”?@DavidG,是的,当然。我在问题中已经说过了,这是一个很好的回答。我快发疯了。谢谢。这是一个很好的收获。我快发疯了。非常感谢。