Как сделать так, чтобы в PostBuildEvents для конфигурации Debug подставлялась команда для Windows, а при конфигурации Linux подставлялась команда для Linux?
Мне просто нужно копировать выходной файл в общий каталог для всех проектов в решении.
В Windows я копирую так: xcopy "$(TargetPath)" "$(SolutionDir)bin\$(ConfigurationName)\$(SolutionName)\" /Y
Я попробовал в файле проекта (*.csproj) заменить это:
<PropertyGroup>
<PostBuildEvent>xcopy "$(TargetPath)" "$(SolutionDir)bin\$(ConfigurationName)\$(SolutionName)\" /Y</PostBuildEvent>
</PropertyGroup>
На это:
<Choose>
<When Condition="'$(Configuration)'!='Linux'">
<PropertyGroup>
<PostBuildEvent>xcopy "$(TargetPath)" "$(SolutionDir)bin\$(ConfigurationName)\$(SolutionName)\" /Y</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<PostBuildEvent></PostBuildEvent>
</PropertyGroup>
</Otherwise>
</Choose>
Но это не работает в MonoDevelop, так как при построении проекта MonoDevelop выдаёт ошибку:
/usr/lib/mono/4.5/Microsoft.Common.targets: Error: Command 'xcopy "/home/MyName/Repos/SomeProject/OutdoorComponents/Config/bin/Release//Config.dll" "/home/MyName/Repos/SomeProject/bin/Release/SomeServer/" /Y' exited with code: 127. (Config)