Visual Studio中根據(jù)系統(tǒng)區(qū)分引用64位、32位DLL動態(tài)庫文件的配置方法
原來使用Win7的32位系統(tǒng),進行C#工程的開發(fā),后來重裝系統(tǒng),換成了win7的64位系統(tǒng)
調(diào)試原來的工程,由于在其中引用了“SQLite”的32位的dll,導(dǎo)致在64為位下程序無法運行(但是編譯可以通過)
后來通過修改工程文件(.csproj),在其中設(shè)置引用的條件,解決了問題
打開引用了SQLite的工程(例如叫做info)的工程文件(info.csproj),找到對SQLite引用的語句,類似如下的代碼
<Reference Include="System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\libs\SQLite\System.Data.SQLite.dll</HintPath>
</Reference>
這里指定了引用的庫的名稱,路徑等信息,將上面的配置內(nèi)容,修改如下
<Reference Condition=" '$(Platform)' == 'AnyCPU' " Include="System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\libs\SQLite\System.Data.SQLite.dll</HintPath>
</Reference>
只是增加了一個Condition的限制條件,表示只在平臺類型位AnyCPU的時候,按照這個路徑引用dll
復(fù)制上面的配置內(nèi)容,并按照如下進行修改,設(shè)置在x64平臺的生成時引用的dll路徑
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\libs\SQLite\System.Data.SQLite.x64.dll</HintPath>
</Reference>
最后,說一下怎樣在VS中設(shè)置不同的生成平臺
在工具欄的“解決方案平臺”(一般這里會顯示著“Any CPU”)下拉框中選擇“配置管理器”,在其中添加想要的平臺類型(一般就在x64,x86,Itanium中選擇,不要修改默認(rèn)名稱)
然后在窗口下部的“項目上下文中”,在對應(yīng)的項目(這里僅info項目,其他的保持AnyCPU不變)中修改平臺類型(修改為X64)
然后,配置到這里,可能在項目文件中,對應(yīng)新增的平臺類型的一些設(shè)置不完整(我遇到編譯的時候提示“OutputPath沒有設(shè)置”),這個時候,進入vs的項目屬性界面,稍微修改一下(改成別的,保存,再改回來)這些設(shè)置
ok,這個時候,應(yīng)該就可以根據(jù)平臺的類型不同,引用到對應(yīng)的dll了,
在網(wǎng)上找到的資料說,這種方法對于msi的安裝程序的制作不太好使,我不太清楚,涉及到這方面的同學(xué),再仔細(xì)查查看。
不過,我這里提供一個可行的解決方案,那就是不要將整個項目制作到安裝程序中,只是制作一個最基本的安裝程序,然后通過升級來保證最新。
如果是在沒有網(wǎng)絡(luò)的環(huán)境中,那也可以將編譯產(chǎn)出單獨解壓到安裝目錄下,以避免將整個解決方案制作成安裝包。
相關(guān)文章
Unity工具類ScrollView實現(xiàn)拖拽滑動翻頁
這篇文章主要為大家詳細(xì)介紹了Unity工具類ScrollView實現(xiàn)拖拽滑動翻頁,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04C#聯(lián)合VisionPro實現(xiàn)TCP/IP通信詳解
TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一組用于在網(wǎng)絡(luò)上進行通信的通信協(xié)議,本文主要為大家詳細(xì)介紹了C#如何聯(lián)合VisionPro實現(xiàn)TCP/IP通信,希望對大家有所幫助2024-02-02C#實現(xiàn)判斷文件夾存在與否并創(chuàng)建文件夾的方法
這篇文章主要介紹了C#實現(xiàn)判斷文件夾存在與否并創(chuàng)建文件夾的方法,涉及C#針對文件及目錄的判斷與創(chuàng)建操作相關(guān)技巧,需要的朋友可以參考下2017-02-02