构建项目后,我想从主目录复制一个xml文件到bin\Debug
,但我的解决方案不起作用。我编辑.csproj
文件并补充说:构建完成后的MsBuild副本文件
<Target Name="AfterBuild">
<Copy SourceFiles="Controllers.xml" DestinationFolder="\bin\Debug" ContinueOnError="true" />
</Target>
我在做什么错?构建成功。
构建项目后,我想从主目录复制一个xml文件到bin\Debug
,但我的解决方案不起作用。我编辑.csproj
文件并补充说:构建完成后的MsBuild副本文件
<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>
这个MsBuild目标的构建输出是什么?我怀疑你需要把'$ MSBuildProjectDirectory \ Controllers.xml' –
不幸的是它没有帮助。任何其他想法? – KlimczakM