.net - studio - msbuild xml
MsBuild copia el archivo después de construir (3)
Quiero copiar un archivo xml del directorio principal a bin/Debug
después de bin/Debug
el proyecto, pero mi solución no funciona. .csproj
archivo .csproj
y agregué:
<Target Name="AfterBuild">
<Copy SourceFiles="Controllers.xml" DestinationFolder="/bin/Debug" ContinueOnError="true" />
</Target>
¿Qué estoy haciendo mal? La construcción es exitosa.
¿Está el archivo xml en tu proyecto? Entonces una de sus propiedades es CopyToOutputDirectory. Establézcalo en CopySiempre y cuando el proyecto se compile, el archivo se copiará en bin / debug.
Su carpeta de destino es (lo más probable) incorrecta. Si lo especifica con una barra diagonal inversa inicial, en realidad es solo una forma abreviada de <current-drive-letter>/bin/Debug
(lo que la convierte en una ruta absoluta, como C:/bin/Debug
).
Use bin/Debug
, o mejor aún use la variable OutputPath
, que se establece en bin/Debug
o bin/Release
según la configuración de su compilación.
Ejemplo:
<Target Name="AfterBuild">
<Copy SourceFiles="Controllers.xml" DestinationFolder="$(OutputPath)" ContinueOnError="true" />
</Target>
Tienes que especificar la ruta completa. Sospecho que la tarea de copia de MsBuild se está ejecutando desde la "Ruta predeterminada" de Visual Studio, y no se puede encontrar el archivo. Además, lo más probable es que desee que el archivo termine en el directorio de destino de la compilación.
<Target Name="AfterBuild">
<Copy SourceFiles="$(ProjectDir)Controllers.xml" DestinationFolder="$(TargetDir)" ContinueOnError="true" />
</Target>