构建后MsBuild复制文件

Kli*_*akM 20 .net msbuild build csproj visual-studio-2010

我想bin\Debug在构建项目后从主目录复制一个xml文件,但我的解决方案不起作用.我编辑了.csproj文件并添加了:

<Target Name="AfterBuild">
     <Copy SourceFiles="Controllers.xml" DestinationFolder="\bin\Debug" ContinueOnError="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?构建成功.

Chr*_*n.K 40

您的目标文件夹(很可能)是错误的.如果你用前导反斜杠指定它,它实际上只是一个缩写<current-drive-letter>\bin\Debug(使它实际上是一个绝对路径,如C:\bin\Debug).

要么使用bin\Debug,要么更好地使用OutputPath变量,该变量设置为bin\Debug或者bin\Release取决于您的构建配置.

例:

<Target Name="AfterBuild">
     <Copy SourceFiles="Controllers.xml" DestinationFolder="$(OutputPath)" ContinueOnError="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)


Jam*_*den 5

是项目中的xml文件吗?然后它的一个属性是CopyToOutputDirectory.将其设置为CopyAlways,当项目构建时,文件将被复制到bin\debug.