2017-01-03 29 views
0

Ich versuche ein Projekt zu bauen, das sowohl in x64 als auch in x86 gebaut werden kann. Ich nutze SlimDX als Schnittstelle zu DirectSound. Ich kann das nicht ändern, da es Teil einer größeren Anwendung ist.SlimDX und mehrere Architekturen

Ich versuche, die x86-Version von SlimDX zu referenzieren, wenn das Projekt in Win32/x86 erstellt wird, und auf die x64-Version von SlimDX zu verweisen, wenn ich in AnyCPU baue. Ist das möglich? Ich habe versucht, Bedingungen in der csproj-Datei zu verwenden, aber das scheint nicht zu funktionieren.

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

Antwort

1

Dies ist möglich, Sie können auch die Zielplattform direkt im Pfad hinzufügen:

<Reference Include="SlimDX"> 
    <HintPath>..\SlimDX\$(Platform)\SlimDX.dll</HintPath> 
</Reference> 

Visual Studio einige Architektur Mismatch Warnungen senden, aber in Ihrem Fall können sie problemlos ignoriert werden (wie Sie am Ende in 64 Bits booten werden).

Verwandte Themen