- 我在这里阅读了所有相关答案都没有帮助。
- 另请注意:如果我在 VS 2012 调试器中运行该程序,它就像一个魅力。但是,如果我在没有调试的情况下运行(ctrl F5)或在 VS 2012 ID 之外运行 .exe,则会引发异常。
- 我关闭了防火墙
- 我以管理员身份运行 exe
- 我重新启动了 WMI 服务。
相同的..
这是代码。异常由 .Get() 方法调用引发
注意:调试屏幕不是来自运行调试模式,而是来自运行可执行文件并在崩溃附加调试器后。
http://screencast.com/t/nfvrfz2Hq6Q
同样,如果我在调试中运行程序,它会像魅力一样运行。
internal static class Program
{
private static void Main(string[] args)
{
var objSearcher = new ManagementObjectSearcher(
"SELECT * FROM Win32_SoundDevice");
var objCollection = objSearcher.Get();
foreach (var obj in objCollection)
{
foreach (var property in obj.Properties)
{
Debug.WriteLine("{0}:{1}", property.Name, property.Value);
}
}
}
}