我想制作我的应用程序的x86和x64版本,因为我使用的一些库在x86和x64(例如SQLite)方面存在差异。 我为发布版本做了一个新的配置,它具有目标操作系统“x64”。
有没有办法为配置定义不同的DLL,例如使用SQLite.dll进行x86发布,使用SQLite64.dll进行x64发布吗?
答案 0 :(得分:12)
您可以在项目文件中为dll引用添加条件,但不能使用Visual Studio执行此操作 - 您必须手动编辑项目文件。有关如何操作,请参阅this。
您需要做的是仅在32位构建配置中包含对32位dll的引用,并在64位构建配置中引用对64位dll的引用。
答案 1 :(得分:1)
项目文件中的dll引用需要一个条件。
这将导致visual studio在您更改活动配置时重新检查条件和引用
只需为每个配置添加一个条件。
示例:
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<Reference Include="DLLName">
<HintPath>..\DLLName.dll</HintPath>
</Reference>
<ProjectReference Include="..\MyOtherProject.vcxproj">
<Project>{AAAAAA-000000-BBBB-CCCC-TTTTTTTTTT}</Project>
<Name>MyOtherProject</Name>
</ProjectReference>
</ItemGroup>
答案 2 :(得分:0)
哪个VS版本?你在开发哪种语言? 如果是原生(=非托管)C ++,几乎所有设置(包括使用的库)都可以针对每个配置进行不同的设置。在项目属性对话框的顶部,只需选择要修改的配置设置。
答案 3 :(得分:0)
它存在csproj文件的内置关键字devices/<myDeviceId>/messages/devicebound/#
和Choose
。
以下示例:
When
Bref说明:在Visual Studio中选择“ DebugConversion”时,项目将在解决方案中加载项目名称OfficeConverter,否则(默认情况下为“ Debug” /“ Release”)将还原并加载Nuget Dll。