国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

Visual Studio中根據系統區分引用64位、32位DLL動態庫文件的配置方法

2020-01-24 02:26:48
字體:
來源:轉載
供稿:網友

原來使用Win7的32位系統,進行C#工程的開發,后來重裝系統,換成了win7的64位系統

調試原來的工程,由于在其中引用了“SQLite”的32位的dll,導致在64為位下程序無法運行(但是編譯可以通過)

后來通過修改工程文件(.csproj),在其中設置引用的條件,解決了問題

打開引用了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>

這里指定了引用的庫的名稱,路徑等信息,將上面的配置內容,修改如下

復制代碼 代碼如下:

<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

復制上面的配置內容,并按照如下進行修改,設置在x64平臺的生成時引用的dll路徑

復制代碼 代碼如下:
<Reference Condition=" '$(Platform)' == 'x64' " Include="System.Data.SQLite.x64, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>../../libs/SQLite/System.Data.SQLite.x64.dll</HintPath>
</Reference>

最后,說一下怎樣在VS中設置不同的生成平臺

在工具欄的“解決方案平臺”(一般這里會顯示著“Any CPU”)下拉框中選擇“配置管理器”,在其中添加想要的平臺類型(一般就在x64,x86,Itanium中選擇,不要修改默認名稱)

然后在窗口下部的“項目上下文中”,在對應的項目(這里僅info項目,其他的保持AnyCPU不變)中修改平臺類型(修改為X64)

然后,配置到這里,可能在項目文件中,對應新增的平臺類型的一些設置不完整(我遇到編譯的時候提示“OutputPath沒有設置”),這個時候,進入vs的項目屬性界面,稍微修改一下(改成別的,保存,再改回來)這些設置

ok,這個時候,應該就可以根據平臺的類型不同,引用到對應的dll了,

在網上找到的資料說,這種方法對于msi的安裝程序的制作不太好使,我不太清楚,涉及到這方面的同學,再仔細查查看。

不過,我這里提供一個可行的解決方案,那就是不要將整個項目制作到安裝程序中,只是制作一個最基本的安裝程序,然后通過升級來保證最新。

如果是在沒有網絡的環境中,那也可以將編譯產出單獨解壓到安裝目錄下,以避免將整個解決方案制作成安裝包。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马公市| 富宁县| 彭水| 临邑县| 淮阳县| 抚宁县| 福贡县| 泌阳县| 都江堰市| 平定县| 荆州市| 青岛市| 崇义县| 湖州市| 米林县| 封开县| 靖宇县| 米脂县| 寿光市| 库尔勒市| 新化县| 黎城县| 凉城县| 云梦县| 治多县| 新平| 井冈山市| 平远县| 垫江县| 芒康县| 柘城县| 台东市| 潢川县| 保定市| 水富县| 大石桥市| 肇东市| 夏津县| 黄浦区| 玉环县| 宜阳县|