![](/img/trans.png)
[英]MSBuild - Copy one file or another depending on the Build Configuration
[英]MsBuild copy file after build
我要在构建项目后将xml文件从主目录复制到bin\\Debug
,但是我的解决方案不起作用。 我编辑了.csproj
文件并添加了:
<Target Name="AfterBuild">
<Copy SourceFiles="Controllers.xml" DestinationFolder="\bin\Debug" ContinueOnError="true" />
</Target>
我究竟做错了什么? 构建成功。
您的目标文件夹(很可能)是错误的。 如果以反斜杠开头,则实际上只是<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>
xml文件在您的项目中吗? 然后,它的属性之一是CopyToOutputDirectory。 将其设置为CopyAlways,然后在构建项目时将文件复制到bin \\ debug。
您必须指定完整路径。 我怀疑MsBuild复制任务是从Visual Studio的“默认路径”运行的,找不到该文件。 同样,您很可能希望文件最终位于构建目标目录中。
<Target Name="AfterBuild">
<Copy SourceFiles="$(ProjectDir)Controllers.xml" DestinationFolder="$(TargetDir)" ContinueOnError="true" />
</Target>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.