3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
這個(gè)警告似乎是在新的Visual Studio 11 Beta和.NET 4.5中引入的,盡管我認(rèn)為它可能以前可能已經(jīng)存在。
首先,它只是一個(gè)警告。如果您只是處理x86依賴項(xiàng),它不應(yīng)該傷害任何東西。當(dāng)您聲明您的項(xiàng)目與“任何CPU”兼容但您依賴于x86或x64的項(xiàng)目或.dll程序集時(shí),Microsoft只是試圖警告您。因?yàn)槟哂衳86依賴性,所以從技術(shù)上講,您的項(xiàng)目不是“任何CPU”兼容的。要使警告消失,您實(shí)際上應(yīng)該將項(xiàng)目從“任何CPU”更改為“x86”。這很容易做到,這里是步驟。
轉(zhuǎn)到“生成”|“配置管理器”菜單項(xiàng)。
在列表中找到您的項(xiàng)目,在Platform下它會(huì)說(shuō)“Any CPU”
從下拉列表中選擇“Any CPU”選項(xiàng),然后選擇
<New..>
從該對(duì)話框中,從“New Platform”下拉列表中選擇x86,并確保在“Copy settings from”下拉列表中選擇“Any CPU”。
點(diǎn)擊OK
您需要為Debug和Release配置選擇x86。
這將使警告消失,并聲明您的程序集或項(xiàng)目現(xiàn)在不再是“任何CPU”兼容,但現(xiàn)在特定于x86。如果要構(gòu)建具有x64依賴性的64位項(xiàng)目,這也適用; 你只需要選擇x64。
另外請(qǐng)注意,如果項(xiàng)目是純.NET項(xiàng)目,項(xiàng)目通??梢约嫒荨叭魏蜟PU”。如果您引入針對(duì)特定處理器體系結(jié)構(gòu)的依賴項(xiàng)(第三方DLL或您自己的C ++托管項(xiàng)目),則只會(huì)出現(xiàn)此問(wèn)題。

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
我得到了同樣的警告:
卸載項(xiàng)目
編輯項(xiàng)目屬性,即.csproj
添加以下標(biāo)記:
<PropertyGroup> <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch> None </ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch></PropertyGroup>
重新加載項(xiàng)目

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
我在SQLite打開(kāi)連接時(shí)遇到了同樣的問(wèn)題,并且使用Nuget并安裝了項(xiàng)目中使用的組件(SQLite)修復(fù)了它!嘗試以這種方式安裝組件并檢查結(jié)果
- 3 回答
- 0 關(guān)注
- 1486 瀏覽
添加回答
舉報(bào)