2010-04-01 38 views
4

我已經擁有了一個.NET應用程序的所有權,它是託管System.Windows.Forms.WebBrowser的.NET獲勝表單應用程序。當應用程序啓動時,它發出一個http請求來加載一個xap文件。我立即看到「安裝silverlight」圖標並點擊獲取: 「Microsoft Silverlight不能用於以64位模式運行的瀏覽器」。Microsoft Silverlight不能用於以64位模式運行的瀏覽器

儘管我有一臺64位機,但該應用程序最初是在32位機器上編寫的。

任何想法,我需要調整來實現這個運行?

JD

+1

編譯? – 2010-04-01 13:23:28

+0

yeaht就是這樣。對不起,接受喬治的回覆。 – 2010-04-01 13:33:49

回答

2

構建.NET應用程序的機器的「bitness」對最終應用程序的「bitness」沒有影響。默認情況下,.NET EXE將以32或64位運行,具體取決於當前運行的操作系統。

因此,在64位系統上,典型的.NET應用程序將在64位進程中運行。您可以通過將編譯選項平臺目標更改爲x86來強制應用始終以32位應用程序的形式運行,從而在編譯時更改該行爲。

這可能是你想要做的事情,如果託管一個Silverlight應用程序是一個關鍵或常見的事情,你需要做的。

還有一個名爲「CoreFlags」,可以用它來調整現有的.NET .exe文件,以確保它運行32位的SDK工具: - 在僅適用於x86模式

CoreFlags.exe YourApplication.exe /32BIT+ 
1

嘗試以32位模式運行應用程序。如果可以幫助您在Visual Studio中將構建配置更改爲x86,則生成的可執行文件始終以32位模式運行。

如果使用「任何CPU」選項構建應用程序,它的位數將取決於它實際運行的平臺。另一方面,以'32位'模式構建它可以確保它始終以32位應用程序運行。

+0

謝謝,我檢查了配置選項,我看到的只有Any CPU。但點擊新建立了一個X86版本,現在全部正常。我更好地閱讀這一點。 – 2010-04-01 13:33:10

相關問題