Visual Studio 2015 kullanarak bir C# uygulaması yazıyorum. Bu uygulama, "Herhangi bir CPU" ("Prefer 32-bit" seçeneği olmadan) seçeneğini hedefler; bu, uygulamanın 32-bit'te çalışacak tek bir oluşturma hedefini derlediğini gösterir. 32 bit işletim sistemlerinde ve 64 bit işletim sistemlerinde 64 bit modda.Visual Studio'daki bir dosya, geliştiricinin işletim sistemi mimarisine bağlı olarak nasıl kopyalanır?
Bu uygulama, belirli bir yerel DLL'nin çıkış klasörüne (yani, bin/Hata ayıklama veya bin/Sürüm klasörü) kopyalanmasını gerektirir. Bu DLL'nin ayrı x86 ve x64 sürümleri vardır ve doğru olanı, geliştiricinin işletim sistemine bağlı olarak çıktı klasörüne kopyalanması gerekir.
Şimdiye kadar ben koşullu benim .Csproj dosyasına aşağıdaki gibi bir şey ekleyerek çıkış klasörüne dosyaları kopyala ki anladım: nasıl
Yani benim sorum<ItemGroup Condition="MY CONDITION HERE">
<Content Include="MyNativeLib.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
I do "geliştiricinin işletim sistemi x86" veya "... x64" ile eşdeğer bir koşul yazabilir mi?
(. Ben nasıl koşullu bir dosyayı kopyalamak için soruyorum, benbenim durumumda "Herhangi bir CPU" daima platformu yapı hedef üzerine şartlı bir dosyayı kopyalamak için nasıl soran değilim süper Açık olmak gerekirse Visual Studio'nun çalıştığı OS mimarisine bağlı olarak.)
Doğru bir şekilde bir yayın oluşturma olayında yaparım. –
@ AllanS.Hansen Evet, bu benim ilk içgüdümdü (zaten bir sürü başka dosyayı kopyalamak için post-build kullanıyorum); Post-build olaylarında * koşullu * dosyaları kopyalama konusunda hiçbir ipucu bulamadım, OS mimarisine bağlı olarak nevermind. Birisi bana bir post-inşa olayında bunu nasıl yapılacağını söylerse, bu% 100 kabul edilebilir olurdu! –
Şuna bir bakın: http://stackoverflow.com/questions/3832552/conditionally-use-32-64-bit-reference-when-building-in-visual-studio – Alex