问题描述:
需要使用的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>