• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法

Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了visual studio dll,visual studio,visual studio 2010,visual studio 2015,visual studio 2013等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

原来使用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>
</div>

这里指定了引用的库的名称,路径等信息,将上面的配置内容,修改如下

<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>
</div>

只是增加了一个Condition的限制条件,表示只在平台类型位AnyCPU的时候,按照这个路径引用dll

复制上面的配置内容,并按照如下进行修改,设置在x64平台的生成时引用的dll路径

<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\libs\SQLite\System.Data.SQLite.x64.dll</HintPath>
</Reference></div>

最后,说一下怎样在VS中设置不同的生成平台

在工具栏的“解决方案平台”(一般这里会显示着“Any CPU”)下拉框中选择“配置管理器”,在其中添加想要的平台类型(一般就在x64,x86,Itanium中选择,不要修改默认名称)

然后在窗口下部的“项目上下文中”,在对应的项目(这里仅info项目,其他的保持AnyCPU不变)中修改平台类型(修改为X64)

然后,配置到这里,可能在项目文件中,对应新增的平台类型的一些设置不完整(我遇到编译的时候提示“OutputPath没有设置”),这个时候,进入vs的项目属性界面,稍微修改一下(改成别的,保存,再改回来)这些设置

ok,这个时候,应该就可以根据平台的类型不同,引用到对应的dll了,

在网上找到的资料说,这种方法对于msi的安装程序的制作不太好使,我不太清楚,涉及到这方面的同学,再仔细查查看。

不过,我这里提供一个可行的解决方案,那就是不要将整个项目制作到安装程序中,只是制作一个最基本的安装程序,然后通过升级来保证最新。

如果是在没有网络的环境中,那也可以将编译产出单独解压到安装目录下,以避免将整个解决方案制作成安装包。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法

相关文章

  • 2017-05-28c#测试本机sql运算速度的代码示例分享
  • 2017-05-28C# 基础入门--注释
  • 2017-05-28C#实现日期格式转换的公共方法类实例
  • 2017-05-28分享WCF文件传输实现方法---WCFFileTransfer
  • 2017-05-28C#获取客户端相关信息实例总结
  • 2017-05-28c#打印预览控件中实现用鼠标移动页面功能代码分享
  • 2017-05-28Silverlight文件上传下载实现方法(下载保存)
  • 2017-05-28C# 6.0 的知识梳理
  • 2017-05-28VS中C#读取app.config数据库配置字符串的三种方法
  • 2017-05-28轻松学习C#的ArrayList类

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#学习进阶Hello World的17种写法代码分享
    • c#异步task示例分享(异步操作)
    • DataTables List互相转换的实现类示例
    • c#方法中调用参数的值传递方式和引用传递方式以及ref与out的区别深入解析
    • C#读取文件所有行到数组的方法
    • C#将hashtable值转换到数组中的方法
    • C# Guid.NewGuid获得随机数
    • C# byte数组与Image相互转换的方法
    • C#实现Stream与byte[]之间的转换实例教程
    • Js中的substring,substr与C#中的Substring比较

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有