簡體   English   中英

無法在x64下構建UserControls

[英]Can't build UserControls under x64

我正在嘗試對包含UserControl(實際上,其中幾個顯示相同問題)的VB.NET項目進行故障排除。 我正在嘗試讓他們在x64下構建,但這是不可能的。 在x86或AnyCPU中,UserControl會生成並顯示在工具箱中,因此我可以按需要的形式添加或修改它。 在x64中,控件從“工具箱”中消失,我在構建過程中收到警告(盡管當前項目正在構建),我看不到任何形式-我收到錯誤(請參見下文)-以及需要使用導入表格將無法生成。 當我研究這些UserControl是什么以便可以從頭開始重建它們時,我從一本書中下載了代碼-很好的學習工具,但遇到了同樣的錯誤:

Could not find type 'Chap15SampleCode.ListSelector'.  Please make sure that the assembly that contains this type is referenced.  If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.

The variable 'ListSelector1' is either undeclared or was never assigned.

我還會收到警告,不確定該如何處理:

Possible problem detected while building assembly 'Chap15SampleCode': Referenced assembly 'mscorlib.dll' targets a different processor
Possible problem detected while building assembly 'Chap15SampleCode': Referenced assembly 'System.Data.dll' targets a different processor

我檢查並發現System.Data作為引用位於c:\\ Windows \\ Microsoft.NET \\ Framework ...(如果將目標框架更改為4.0,則引用位於c:\\ ProgramFiles(x86)...我的項目有什么...並且由於x86我試圖更改它,但我沒有,我在ProgramFiles(x86)中還有其他幾個,我認為可能是問題所在?)
重新安裝了VS2010,重新安裝了Windows-在btw之前做了同樣的事情-但是我確實有一個干凈的系統,所以我不能怪它。
如果我可以使這個簡單的項目正常工作,那么我希望真正的項目會很容易-請幫助我弄清楚這是怎么回事。 謝謝。

您已將項目中的“平台目標”設置更改為x64。 這不適用於生成DLL的任何項目。 使用您的DLL的進程的實際位數由啟動該進程的EXE確定。 或運行DLL的主機(Visual Studio是32位進程)。 DLL不能執行任何強制位操作,它只能拒絕加載。 這就是您所看到的。

將設置更改回AnyCPU,以便您的UserControl在任何進程中都能正常工作,而不管它的位如何。 包括VS設計器。 項目+屬性,生成選項卡。 對於VB.NET,它位於“編譯”選項卡的“高級編譯選項”按鈕中。

暫無
暫無

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

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