有些地方我使用#if DEBUG
编译器指令来选择要编译的代码。直到不久前,我还能够以调试或发布模式发布我的 ASP.NET MVC 应用程序。事实上,我仍然可以这样做。但是现在,出于某种原因,无论我选择哪种模式,我都只会在输出中得到 Release 代码。如果我用 .NET Reflector 查看生成的 dll,我可以看到后面的代码#if DEBUG
不存在。我已经检查了Define DEBUG constant
项目属性中的调试模式。我可以让它工作的唯一方法是明确定义 DEBUG 常量。除了发布时,还有其他地方可以配置发布设置吗?
1309 次
1 回答
5
经过大量的挖掘(并且在发布这个问题之后),我在 ProjectName|Properties|PublishProfiles 下找到了一个名为 MyProjectName.pubxml 的文件:
在那里我找到了这一行:
<DebugSymbols>False</DebugSymbols>
将其设置为 True 后,它终于得到解决并按预期工作。我还注意到,LastUsedBuildConfiguration
尽管它实际上是 Debug,但它的值是 Release。所以很明显,这个文件在某些时候无法保持最新状态。希望这可以帮助那些候选人及时浪费时间。
编辑
我又遇到了同样的问题,但这次我需要相反的发布模式。这次更改上述文件并没有解决问题。所以我决定做我认为最好的事情:只需删除 PublishProfiles 文件夹,这样当您下次尝试发布应用程序时,系统会提示您创建新的发布配置文件。这解决了问题。
编辑2
伙计,我没有意识到可以选择配置。出来我们需要选择我们需要发布到哪个配置,无论在 Visual Studio 本身中选择什么配置。
于 2015-11-12T12:22:03.663 回答