我正在編寫一個使用Visual Studio 2015的C#應用程序。此應用程序的目標是「任何CPU」(沒有啓用「首選32位」選項),這意味着應用程序將編譯爲將以32位方式運行的單個構建目標模式在64位操作系統上是32位操作系統和64位模式。如何在Visual Studio中以開發人員的操作系統體系結構爲條件複製文件?
此應用程序需要將某個本機DLL複製到其輸出文件夾(即bin/Debug或bin/Release文件夾)。此DLL有單獨的x86和x64版本,根據開發人員的操作系統,正確的版本需要複製到輸出文件夾。
到目前爲止,我想通了,我可以文件複製到輸出文件夾有條件通過添加類似下面的我的.csproj文件:
<ItemGroup Condition="MY CONDITION HERE">
<Content Include="MyNativeLib.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
所以我的問題是,我該怎麼辦寫一個等同於「開發人員的操作系統是x86」或「... x64」的條件?
(要超級清晰,我是不是問如何有條件地複製文件在平臺構建目標上,在我的情況下總是「任何CPU」我問如何複製文件有條件地取決於Visual Studio正在運行的操作系統體系結構。)
我會恰當地在發佈後事件中做到這一點。 –
@ AllanS.Hansen是的,這是我的第一個直覺(我已經使用後構建複製一堆其他文件);我根本找不到任何關於在構建後事件中複製文件的條件*,而不是在操作系統架構上有條件。如果有人能夠告訴我如何在後期製作活動中做到這一點,那將是100%可以接受的! –
看看這個:http://stackoverflow.com/questions/3832552/conditionally-use-32-64-bit-reference-when-building-in-visual-studio – Alex