Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.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/1/visual-studio-2012/2.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 2012 - Fatal编程技术网

C# 某些进程。启动命令不起作用

C# 某些进程。启动命令不起作用,c#,visual-studio-2012,C#,Visual Studio 2012,我正在使用C编写visual studio 2012,但有些命令不适用于visual studio 我正在尝试访问 Process.Start(Path.Combine(Environment.SystemDirectory, "msconfig.exe")); 其他一些类似的命令不起作用。这些函数在同一台机器上的VisualStudio2010中运行良好。 请给我一些解决办法 它正在显示Win32Exception。。。系统找不到指定的文件总结了我在注释中的内容-您看到了问题,因为您运行的

我正在使用C编写visual studio 2012,但有些命令不适用于visual studio

我正在尝试访问

 Process.Start(Path.Combine(Environment.SystemDirectory, "msconfig.exe"));
其他一些类似的命令不起作用。这些函数在同一台机器上的VisualStudio2010中运行良好。 请给我一些解决办法


它正在显示Win32Exception。。。系统找不到指定的文件

总结了我在注释中的内容-您看到了问题,因为您运行的是一个32位进程,该进程随后会受到限制-默认情况下,您访问系统目录的尝试会被重定向到C:\Windows\SysWOW64

此目录不包含msconfig.exe

Visual Studio 2012引入了一个AnyCPU首选32位选项,该选项在默认情况下处于选中状态


最好的建议是切换到64位,或者取消选择“首选32位”。

总结我在评论中的内容-您看到了问题,因为您运行的是一个32位进程,该进程会受到以下限制-您访问系统目录的尝试在默认情况下会重定向到C:\Windows\SysWOW64

此目录不包含msconfig.exe

Visual Studio 2012引入了一个AnyCPU首选32位选项,该选项在默认情况下处于选中状态


最好的建议是切换到64位,或者取消选择“首选32位”。

这不是因为任何安全性。作为例外,在磁盘上找不到文件。这就是Visual Studio项目文件配置的问题

string path = Path.Combine(Environment.SystemDirectory, "msconfig.exe");
if(File.Exists(path))
  Process.Start(path);
我只是使用默认配置尝试了一下,发现if检查本身失败了。 为了实现这一点,您必须更改project的平台。默认情况下,VisualStudio环境始终使用x86,即使您正在运行64位操作系统并选择任何CPU。 下面是程序工作的设置。 右键单击解决方案资源管理器中的项目,然后选择设置->构建->平台目标->选择x64

查看下图,了解设置的视觉表示:


如果已修复问题,请将其标记为已回答这不是因为任何安全问题。作为例外,在磁盘上找不到文件。这就是Visual Studio项目文件配置的问题

string path = Path.Combine(Environment.SystemDirectory, "msconfig.exe");
if(File.Exists(path))
  Process.Start(path);
我只是使用默认配置尝试了一下,发现if检查本身失败了。 为了实现这一点,您必须更改project的平台。默认情况下,VisualStudio环境始终使用x86,即使您正在运行64位操作系统并选择任何CPU。 下面是程序工作的设置。 右键单击解决方案资源管理器中的项目,然后选择设置->构建->平台目标->选择x64

查看下图,了解设置的视觉表示:


如果解决了您的问题,请标记为已回答

是否有任何错误/异常?这是什么样的项目?Win32Exception。。。系统找不到指定的文件。这不是Visual Studio错误。切换到.NET4.0,代码将正常工作。我认为他们在.NET4.5中增加了额外的安全性。据猜测,您正在64位计算机上运行32位进程,并且正在经历文件系统重定向。SysWow64目录中没有msconfig.exe。2010年与2012年的不同之处在于2012引入了新的默认值AnyCPU首选32位。有错误/异常吗?这是什么样的项目?Win32Exception。。。系统找不到指定的文件。这不是Visual Studio错误。切换到.NET4.0,代码将正常工作。我认为他们在.NET4.5中增加了额外的安全性。据猜测,您正在64位计算机上运行32位进程,并且正在经历文件系统重定向。SysWow64目录中没有msconfig.exe。2010年与2012年的区别在于,2012年引入了新的默认值AnyCPU首选32位。