post build event - riot - VS2010: ¿Podemos tener múltiples si en un evento posterior a la compilación?
simple js framework (2)
Puede tener tantas declaraciones condicionales como desee, solo sepárelas por una nueva línea y pierda otra cosa
Así que cambia
if "Debug"=="$(ConfigurationName)"
(
goto :nocopy
)
else if...
A
if "Debug" == "$(ConfigurationName)" (goto :nocopy)
if "Release" ==" $(ConfigurationName)" (
del "$(TargetPath).config"
copy "$(ProjectDir)/App.Release.config" "$(TargetPath).config" )
if ...
y se compilará y funcionará bien
Nota: los comandos se interpretarán línea por línea de la misma manera que un archivo por lotes de DOS, por lo que es importante colocar el paréntesis de apertura "(" en la misma línea que la instrucción if y el paréntesis de cierre ")" en la misma línea que el último comando en el bloque.
¿Podemos tener algo como esto?
if "Debug"=="$(ConfigurationName)"
(
goto :nocopy
)
else if "Release"=="$(ConfigurationName)"
(
del "$(TargetPath).config"
copy "$(ProjectDir)/App.Release.config" "$(TargetPath).config"
)
else if "ReleaseBeta"=="$(ConfigurationName)"
(
del "$(TargetPath).config"
copy "$(ProjectDir)/App.ReleaseBeta.config" "$(TargetPath).config"
)
else if "ReleaseProduction"=="$(ConfigurationName)"
(
del "$(TargetPath).config"
copy "$(ProjectDir)/App.ReleaseProduction.config" "$(TargetPath).config"
)
:nocopy
Lo he intentado pero no funciona. El código de error es 255.
Si su lógica posterior a la compilación se está complicando, sugeriría moverla a un archivo externo. Por ejemplo, el siguiente evento posterior a la construcción:
CALL "$(ProjectDir)PostBuild.cmd" $(ConfigurationName)
ejecuta un archivo por lotes PostBuild.cmd en el directorio del proyecto, pasando $ (ConfigurationName) como parámetro. También puede pasar otros parámetros, como $ (TargetPath).
Luego, puede implementar lo que quiera, incluidas varias declaraciones if, y lo más importante, depurarlo sin ejecutar una compilación de Visual Studio.