2012-10-20 451 views
3

我做了一個程序並編譯它。它在調試文件夾中按預期工作。我把它拿出來放在system32中,但它不會運行。它給出了這樣的錯誤:爲什麼我無法在system32中運行我的exe文件?

.NET Framework Initialization Error
Unable to find a version of the runtime to run this application.

我試圖把它在它自己的文件夾中的debug文件夾內,它的工作沒有其他調試文件。我試着以管理員身份運行它。我知道我有正確的.NET Framework版本,因爲它可以在system32之外運行。我試圖用命令提示符從其他地方運行它。我嘗試過所有這些,但仍然無法使用。

編輯:我也試過把exe文件放在windows文件夾中。

+0

你爲什麼要把它放在System32文件夾中? –

+1

[this one]的可能重複(http://stackoverflow.com/questions/8739595/running-a-console-application-from-the-system32-folder)。 – Neolisk

+0

請記住,.NET EXE文件不是用本機代碼製作的「真實」程序。他們需要額外的框架,有時還需要其他功能。 –

回答

5

此問題是由於exe x86與x64的體系結構構建。 VS2012中的默認編譯是ANYCPU,首選x86選項。

如果您的內部版本在x64平臺上是默認版本,則應將其複製到c:\ windows \ syswow64這是32位system32文件夾。或者應用程序應該移除偏好x86選項並重新編譯。

無論哪種方式它不是你沒有安裝正確的框架的情況下,這是由於Windows上的Windows行爲和編譯配置。

希望這會有所幫助!

+0

非常感謝!僅供參考,這也適用於VS2010 – thebunnyrules

相關問題