簡體   English   中英

在Visual C#2008 Express Edition中設置32位x86構建目標?

[英]Setting 32-bit x86 build target in Visual C# 2008 Express Edition?

我正在構建一個加載32位COM dll的C#應用​​程序。 編譯的應用程序在32位Windows上正常運行,但在64位Windows上運行barfs,因為它無法加載32位COM。 有沒有辦法在VC#2008 Express Edition中設置32位構建目標?

或者,有沒有辦法強制編譯到AnyCPU構建目標的.NET應用程序在64位Windows上以32位模式運行?

對於后代,這里是adrian鏈接到的論壇帖子:

在VC#Express中,缺少此屬性,但如果您知道要查找的位置,仍可以創建x86配置。

它看起來像一長串的步驟,但一旦你知道這些東西在哪里,它就容易多了。 只有VC#Express的人可能會覺得這很有用。 一旦了解了Configuration Manager,下次它就會更加直觀。

  1. 在VC#Express 2005中,轉到“工具” - >“選項”。
  2. 在“選項”對話框的左下角,選中“顯示所有設置”框。
  3. 在左側的樹視圖中,選擇“項目和解決方案”。
  4. 在右側的選項中,選中“顯示高級構建配置”框。
  5. 單擊確定。
  6. 轉到Build - > Configuration Manager ...
  7. 在項目旁邊的“平台”列中,單擊組合框並選擇“”。
  8. 在“新平台”設置中,選擇“x86”。
  9. 單擊確定。
  10. 單擊關閉。

在那里,現在你有一個x86配置! 非常簡單! :-)

我還建議使用Configuration Manager刪除Any CPU平台。 如果您曾經依賴於32位本機DLL(甚至是間接依賴項),那么您真的不希望這樣。

您無法在VS Express的UI中將其顯式設置為32位,但顯然(我手邊只有Professional版本)可以使用一些設置來完成。 這篇論壇帖子詳細介紹了如何做到這一點。

您還可以使用.Net Framework SDK附帶的CorFlags工具將已編譯的輸出設置為32位運行。 要使用CorFlags設置32位標志,請從命令行運行:

CorFlags.exe /32BIT+ yourapp.exe

這將在你的exe的標題中設置一個標志,向.Net發出信號,它應該以32位運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM