visual studio proyecto outpath genera existe destino cli assemblyname .net visual-studio-2010 build msbuild csproj

.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>