C# 为什么可以';我在调试器中没有看到特定的变量吗?
我在VisualStudio2013中有这个C#代码。它使用第三方库,但我不知道这是否是问题的一个因素。代码构建和执行都非常完美。但其中有一个变量我无法在调试器中检查。这是整个程序C# 为什么可以';我在调试器中没有看到特定的变量吗?,c#,visual-studio,C#,Visual Studio,我在VisualStudio2013中有这个C#代码。它使用第三方库,但我不知道这是否是问题的一个因素。代码构建和执行都非常完美。但其中有一个变量我无法在调试器中检查。这是整个程序 private void AddGeometry() { var simplePositions = CreateRectShape(startPosition: new Point3D(0, 0, 0)); var simplePositionCollection = new Point3DColl
private void AddGeometry()
{
var simplePositions = CreateRectShape(startPosition: new Point3D(0, 0, 0));
var simplePositionCollection = new Point3DCollection(simplePositions);
int size = simplePositionCollection.Count;
MainViewport.BeginInit();
MainViewport.Children.Clear();
var polyLineVisual3D = new Ab3d.Visuals.PolyLineVisual3D()
{
Positions = simplePositionCollection,
LineColor = Colors.DarkOrange,
LineThickness = 2,
Transform = new TranslateTransform3D(0, 0, 0)
};
MainViewport.Children.Add(polyLineVisual3D);
MainViewport.EndInit();
}
如果我在Children.Add()语句处设置断点并尝试检查polyLineVisual3D或在其上放置一个quickwatch,我会得到
当前上下文中不存在名称“polyLineVisual3D”
。。。来自VisualStudio。在同一断点检查其他局部变量(如simplePositions或simplePositionCollection)没有问题 这个变量可能已经被编译器优化掉了。以前的讨论和。生成配置处于活动状态(调试)。我认为优化只适用于发布配置。这是错误的吗?如果设置与默认设置不同,则可能仍会启用优化。在“生成”>“常规”中,将取消选中优化代码。还有一些事情要尝试。(1) 调试器可能在使用后才会“查看”
polyLineVisual3D
。将断点移动到MainViewport.EndInit()
并查看错误是否消失。或者,放置Debug.WriteLine(polyLineVisual3D)在子项之前添加(..)
调用。(2) 打开“选项”对话框并启用调试/常规/使用托管兼容性模式。关于此错误,存在Microsoft Connect问题。