Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么可以';我在调试器中没有看到特定的变量吗?_C#_Visual Studio - Fatal编程技术网

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

我在VisualStudio2013中有这个C#代码。它使用第三方库,但我不知道这是否是问题的一个因素。代码构建和执行都非常完美。但其中有一个变量我无法在调试器中检查。这是整个程序

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问题。