Esta sección ha sido aprobado por expertos para asegurar la exactitud de nuestra esta crónica.
Solución:
La respuesta para usar “/ I” está funcionando pero con un pequeño truco: en el destino, debe terminar con el carácter para decirle a xcopy que el destino es un directorio y no un archivo.
Ejemplo:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)_DropFolder" /F /R /Y /I
no funciona y devuelve el código 2, pero este:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)_DropFolder" /F /R /Y /I
Argumentos de línea de comando usados en mi ejemplo:
/F: muestra los nombres completos de los archivos de origen y de destino
/R: esto sobrescribirá los archivos de solo lectura
/Y: suprime la solicitud de sobrescribir un archivo existente
/I – Supone que el destino es el directorio (pero debe terminar con )
Intenté esto en la línea de comando usando
D:>xcopy myfile.dat xcopytesttest
y el directorio de destino se creó correctamente.
Si no, puede crear el directorio de destino usando el mkdir
comando con cmd
Las extensiones de comando de habilitadas como
cmd /x /c mkdir "$(SolutionDir)Prism4Demo.Shell$(OutDir)Modules"
(‘/x’ habilita las extensiones de comando en caso de que no estén habilitadas de forma predeterminada en su sistema, no estoy tan familiarizado con cmd
)
utilizar
cmd /?
mkdir /?
xcopy /?
para mayor información 🙂
Odio el paso PostBuild, permite que sucedan demasiadas cosas fuera del alcance de la herramienta de construcción. Creo que es mejor dejar que MSBuild administre el proceso de copia y realice la actualización. Puede editar el archivo .csproj de esta manera:
Sección de Reseñas y Valoraciones
Recuerda que puedes dar visibilidad a este tutorial si te fue útil.