在電腦上執行的應用程式可分為x86與x64架構,有許多函式庫針對不同架構會有不同版本,所以在Visual Studio開發時要慎選平台架構,像限量工作的Project主要為x64架構,當限量使用x64的Oracle.DataAccess DLL,所以在Build的時候會發生警告,要我在專案組態設定那將專案改為x64專案,但基於某些原因,又不想改組態設定,每次警告看了又煩,以下為警告訊息。
警告訊息:
警告訊息:
warning MSB3270: 建置
"MSIL" 之專案的處理器架構與參考 "Oracle.DataAccess,
Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342,
processorArchitecture=AMD64" 的處理器架構
"AMD64" 不符。這可能會導致執行階段失敗。請考慮透過 [組態管理員] 變更專案的目標處理器架構,使專案與參考之間的處理器架構對應,或者使用符合專案目標處理器架構之處理器架構的參考相依性。
warning MSB3270: 建置
"MSIL" 之專案的處理器架構與參考
"D:\Framework\Codes\Assemblies\AppDlls\Debug\Infrastructure.dll" 的處理器架構 "AMD64" 不符。這可能會導致執行階段失敗。請考慮透過 [組態管理員] 變更專案的目標處理器架構,使專案與參考之間的處理器架構對應,或者使用符合專案目標處理器架構之處理器架構的參考相依性。
每次看到這麼又臭又長的訊息都會眼花,又怕真的錯誤藏在裡面,這時候就要用以下解法把這個煩人的問題除掉。
解決方法:
解決方法:
在檔案總管找到出現警告的專案,然後找到它的.csproj檔,接著用文字編輯器(記事本或Notepad++...)打開.csproj檔,這時候你會看到一堆密密麻麻的XML格式資料,在Project Tag裡頭加入以下屬性:
<!-- Hide MSB3270 Warning -->
<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
None
</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<!-- Hide MSB3270 Warning -->
可以參考.csproj檔裡的PropertyGroup如何寫,位置可以放在PropertyGroup附近。加完後儲存再重新建置專案,可以發現警告不見了。
參考資料:
留言
張貼留言