2013-08-19 56 views
0

我正在使用C#編寫visual studio 2012,但是其中一些命令不適用於Visual Studio。一些Process.Start命令不起作用

我試圖訪問

Process.Start(Path.Combine(Environment.SystemDirectory, "msconfig.exe")); 

其他一些類似的命令不工作。因爲這些功能在Visual Studio 2010中在同一臺機器上運行良好。 請給我提供一些解決方案。

它顯示「Win32Exception ...系統找不到指定的文件」

+1

任何錯誤/異常?它是什麼樣的項目? – wudzik

+0

Win32Exception ... 系統找不到指定的文件 –

+0

你是什麼意思的「不與視覺工作室合作」?您是將這些作爲應用程序的一部分運行,還是作爲VS插件的一部分?你的問題目前還不清楚。 –

回答

4

總結了我放在評論 - 你看到的問題,因爲你是在一個32位進程運行然後服從File System Redirection - 嘗試訪問系統目錄將被重定向到(默認)C:\ Windows \ SysWOW64。這個目錄不包含msconfig.exe

Visual Studio 2012引入了AnyCPUPrefer 32-bit選項,並且默認情況下選擇該選項。

最好的建議是將您的build platform切換爲64-bit,或取消選中Prefer 32-bit

+0

非常感謝.....它工作 –

1

這不是任何安全措施。作爲例外說,在磁盤上找不到文件。這是Visual Studio項目文件配置的問題。

string path = Path.Combine(Environment.SystemDirectory, "msconfig.exe"); 
if(File.Exists(path)) 
    Process.Start(path); 

我只是試着使用默認配置,發現如果檢查本身失敗。 爲了達到這個目的,你將不得不改變項目的平臺。默認情況下,即使運行64位操作系統並選擇任何CPU,Visual Studio環境也始終採用x86。 下面是你的程序工作的設置。 Right click on project在解決方案資源管理器,選擇設置 - >構建 - >。平臺的目標 - >選擇64。

有設置直觀表示下面的圖片一看:

enter image description here

標記爲已回答,如果能解決問題

+0

非常感謝..... 這是工作.... –