SlimDX 和多种架构
SlimDX and Multiple Architectures
我正在尝试构建一个可以在 x64 和 x86 中构建的项目。我正在使用 SlimDX 作为 DirectSound 的互操作。我无法更改它,因为它是更大应用程序的一部分。
当项目设置为在 Win32/x86 中构建时,我试图引用 SlimDX 的 x86 版本,而当我在 AnyCPU 中构建时,我试图引用 SlimDX 的 x64 版本。这可能吗?我试过在 csproj 文件中使用条件,但这似乎不起作用。
<ItemGroup>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9" Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SlimDX\x86\SlimDX.dll</HintPath>
</Reference>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SlimDX\x64\SlimDX.dll</HintPath>
</Reference>
<ItemGroup>
这个是可以的,也可以直接在路径中添加平台目标:
<Reference Include="SlimDX">
<HintPath>..\SlimDX$(Platform)\SlimDX.dll</HintPath>
</Reference>
Visual studio 会向您发送一些体系结构不匹配警告,但在您的情况下可以安全地忽略它们(因为您最终将以 64 位启动)。
我正在尝试构建一个可以在 x64 和 x86 中构建的项目。我正在使用 SlimDX 作为 DirectSound 的互操作。我无法更改它,因为它是更大应用程序的一部分。
当项目设置为在 Win32/x86 中构建时,我试图引用 SlimDX 的 x86 版本,而当我在 AnyCPU 中构建时,我试图引用 SlimDX 的 x64 版本。这可能吗?我试过在 csproj 文件中使用条件,但这似乎不起作用。
<ItemGroup>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9" Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SlimDX\x86\SlimDX.dll</HintPath>
</Reference>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SlimDX\x64\SlimDX.dll</HintPath>
</Reference>
<ItemGroup>
这个是可以的,也可以直接在路径中添加平台目标:
<Reference Include="SlimDX">
<HintPath>..\SlimDX$(Platform)\SlimDX.dll</HintPath>
</Reference>
Visual studio 会向您发送一些体系结构不匹配警告,但在您的情况下可以安全地忽略它们(因为您最终将以 64 位启动)。