如何在C#中禁用编译器优化?

问题描述 投票:38回答:5

如何在C#中禁用编译器优化?

c# .net
5个回答
42
投票

在命令行(csc),/optimize-

在IDE中,项目属性→构建→“优化代码”

对于某些JIT优化,您可以使用[MethodImpl(...)]


9
投票

将配置设置为所有配置

设置优化代码复选框以取消选中

enter image description here


8
投票

您可以使用.ini文件在运行时禁用优化:http://msdn.microsoft.com/en-us/library/9dd8z24x.aspx

在你的.ini中输入以下文字[例如Explorer.ini]

[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0

2
投票

在Visual Studio中,我相信您可以创建一个调试版本,但它包含其他调试信息。项目属性(右键单击解决方案中的项目)使您可以访问管理编译的控件。

如果使用csc.exe在命令行上构建,请参阅/optimize parameter docs。如果未指定/ optimize,则不应优化程序集。


1
投票

在您开始更改可能找到生产方式的项目设置之前,请验证您的解决方案配置是否已设置为Debug而不是Release。

我有同样的问题然后我看到它被设置为错误释放...

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.