1

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

4

1 回答 1

5

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

在此处输入图像描述

在那里我找到了这一行:

   <DebugSymbols>False</DebugSymbols>

将其设置为 True 后,它终于得到解决并按预期工作。我还注意到,LastUsedBuildConfiguration尽管它实际上是 Debug,但它的值是 Release。所以很明显,这个文件在某些​​时候无法保持最新​​状态。希望这可以帮助那些候选人及时浪费时间。

编辑

我又遇到了同样的问题,但这次我需要相反的发布模式。这次更改上述文件并没有解决问题。所以我决定做我认为最好的事情:只需删除 PublishProfiles 文件夹,这样当您下次尝试发布应用程序时,系统会提示您创建新的发布配置文件。这解决了问题。

编辑2

伙计,我没有意识到可以选择配置。出来我们需要选择我们需要发布到哪个配置,无论在 Visual Studio 本身中选择什么配置。

在此处输入图像描述

于 2015-11-12T12:22:03.663 回答