我正在使用C#在visual studio 2012上工作,但有些命令不适用于visual studio。
我正在尝试访问
Process.Start(Path.Combine(Environment.SystemDirectory, "msconfig.exe"));
其他一些类似命令无效。这些功能在Visual Studio 2010中在同一台机器上运行良好。 请给我一些解决方案。
显示“Win32Exception ...系统找不到指定的文件”
答案 0 :(得分:4)
总结我在评论中添加的内容 - 您看到的问题是因为您在32位进程中运行,然后受File System Redirection的限制 - 您尝试访问系统目录时会被重定向到(默认情况下)C:\ Windows \ SysWOW64。
此目录不包含msconfig.exe
。
Visual Studio 2012引入了AnyCPU
Prefer 32-bit
选项,默认情况下已选中。
最好的建议是将build platform切换为64-bit
,或取消选中Prefer 32-bit
。
答案 1 :(得分:1)
这不是任何安全措施。异常说在磁盘上找不到文件。这是Visual Studio Project文件配置的问题。
string path = Path.Combine(Environment.SystemDirectory, "msconfig.exe");
if(File.Exists(path))
Process.Start(path);
我只是使用默认配置尝试了这一点,发现if检查本身失败了。
为了实现这一目标,您必须更改项目平台。默认情况下,即使您运行64位操作系统并选择任何CPU,Visual Studio环境也始终采用x86。
以下是您的程序的工作设置。
解决方案资源管理器中的Right click on project
并选择设置 - >构建 - >平台目标 - > 选择 x64。
在下面的图片中查看设置的可视化表示:
如果解决了您的问题,请将其标记为已解答