如何引用要在立即或快速监视中使用的命名空间?

时间:2012-03-21 09:57:04

标签: c# visual-studio-2010 immediate-window

有时,当我在运行时快速监视表达式时,“快速监视”窗口会显示一条错误,指出当前上下文中不存在该名称。即时窗口也是如此。然而,我尝试评估的表达式完全被类认可,而不会抛出任何编译错误。

例如,我可以使用以下代码行:

double x = Math.Pow(2,3);

如果我将光标停在此行并快速观察“Math.Pow(2,3)”部分,它会给我一个错误,我需要放置一个“系统”。在我表达之前;正如我所说,同一个表达式在代码窗口中运行顺畅,因此我不确定错误所指的“上下文”是什么。

可能是这些调试窗口引用了类中声明的命名空间,但是对于项目导入的命名空间不能这样做吗?

2 个答案:

答案 0 :(得分:4)

据我所知,QuickWatch和Immediate窗口正在执行当前执行上下文下的代码/表达式,所以一旦有using System;  在代码中,quickwatch窗口不会出现任何问题。你可能遇到过一些visual studio bug。尝试重新启动VisualStudio并再次检查。

我没有遇到过这种问题。当您尝试使用此代码Math.Pow(2d, 4d);

时快速观看System.Math.Pow(2d, 4d);时会出现此类问题

答案 1 :(得分:4)

<强>解决方案:

转到program.cs文件并添加您希望立即使用的窗口的使用,这适用于Console和Windows窗体应用程序

在类库项目中将名称空间引用到立即窗口

如果您在“设计时”模式下使用立即窗口,并希望引用一些名称空间,则需要将输出模式设置为Windows应用程序,并创建一个不执行任何操作的程序。

  1. 在解决方案资源管理器中右键单击您的项目,然后单击属性
  2. 在“应用程序”下,将“输出类型:从类库”更改为“Windows应用程序”
  3. 将以下虚拟类添加到项目中:
  4. Program.cs的

    using System;
    //Add all the refrences you need immediate window to use here
    
    namespace YourNamespace
    {
        static class Program
        {
            static void Main()
            {
    
            }
        }
    }