C#项目同时使用x86和x64版本dll库

当C#项目需要使用针对不同平台的C++类库时,传统方法需要手动切换DLL。本文提供了解决方案:在编译时自动根据平台选择DLL库版本并复制到输出路径。步骤包括准备两个版本的DLL,引用一个通用的DLL,然后修改C#工程文件,通过添加props文件来实现DLL的自动选择和复制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

  需要使用的C++类库区分x64和x86版本,但C#项目只能使用一种需要编码X64、X86版本,有不能在编译时经常改引用DLL,能不能再编译时根据编译选项自动选择dll库版本并复制到输出路径

解决:

  1.准备dll库编译好的两个版本;

  2.在C#项目中引用随编一个(一般x64,x86引用文件都一致);  

  3.卸载该项目后,修改C#工程文件(*.csproj)

    3.1 找到自动生成的引用节点

<Reference Include="CefSharp">
<HintPath>DLLs\x64\CefSharp.dll</HintPath>
</Reference>
    3.2 添加引用条件   Condition=" '$(Platform)' == 'x64'"
<Reference Include="CefSharp" Condition=" '$(Platform)' == 'x64'">
<HintPath>DLLs\x64\CefSharp.dll</HintPath>
</Reference>
    3.3 同理X86版本进行修改
<Reference Include="CefSharp" Condition=" '$(Platform)' == 'x86'">
<HintPath>DLLs\x86\CefSharp.dll</HintPath>
</Reference>
  4.保存后重新加载该工程即可;
 

Note:

  1.貌似也可以动态指定路径:

<Reference Include="CefSharp.Core">
  <HintPath>DLLs\$(Platform)\CefSharp.Core.dll</HintPath>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值