Sto scrivendo un'applicazione C# utilizzando Visual Studio 2015. Questa applicazione è destinata a "Qualsiasi CPU" (senza l'opzione "Prefer 32-bit" abilitata), il che significa che l'applicazione viene compilata su una singola destinazione di build che verrà eseguita a 32 bit modalità su sistemi operativi a 32 bit e modalità a 64 bit su sistemi operativi a 64 bit.Come copiare un file in Visual Studio in base all'architettura del sistema operativo dello sviluppatore?
Questa applicazione richiede che una determinata DLL nativa venga copiata nella relativa cartella di output (ad esempio, la cartella bin/Debug o bin/Release). Esistono versioni x86 e x64 separate di questa DLL e quella corretta deve essere copiata nella cartella di output in base al sistema operativo dello sviluppatore.
Finora ho capito che io posso copiare i file nella cartella di output condizionale con l'aggiunta di qualcosa di simile al seguente al mio Csproj file:
<ItemGroup Condition="MY CONDITION HERE">
<Content Include="MyNativeLib.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
Quindi la mia domanda è, come faccio scrivere una condizione equivalente a "il sistema operativo dello sviluppatore è x86" o "... x64"?
(Per essere super chiaro, io sono non chiedendo come copiare un file condizionalmente sul bersaglio piattaforma di costruzione, che nel mio caso è sempre "Qualsiasi CPU". Mi sto chiedendo come copiare un file in modo condizionale a seconda dell'architettura del sistema operativo su cui è in esecuzione Visual Studio.
Lo farei correttamente in un evento di post-produzione. –
@ AllanS.Hansen Sì, questo è stato il mio primo istinto (uso già post-build per copiare un sacco di altri file); Non sono riuscito a trovare alcun consiglio sulla copia dei file * condizionalmente * negli eventi post-build, non condizionata all'architettura del sistema operativo. Se qualcuno può dirmi come farlo in un evento post-compilazione, sarebbe accettabile al 100%! –
Dai un'occhiata a questo: http://stackoverflow.com/questions/3832552/condially-use-32-64-bit-reference-when-building-in-visual-studio – Alex