我正在尝试向我的csproj添加Post Build MSBuild事件来执行此操作我尝试从.csproj文件中的Afterbuild目标内部调用MSBuild任务
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.-->
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
<Message Text="Copying Files" />
<MSBuild Projects="post.build"
Targets="Copy"
ContinueOnError="false" />
</Target>
这是post.build文件。
<Project DefaultTargets="Copy"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Copy">
<Message Text="Copying Files inside COPY" />
<CallTarget Targets="CopyToProfile"/> </Target>
</project>
似乎csproj无法调用MSbuild任务,任何人都可以建议这里可能出现的问题。我收到了错误
错误MSB4057:目标“复制” 在项目中不存在。
答案 0 :(得分:2)
所以我最终得到的是。
我做过Martin Suggested和
<Import Project="post.build"/>
但是,MSBuild任务仍未按计划运行。所以我最终使用了
<CallTarget Targets="copy"/>
调用文件。这听起来像VS2008中的限制,并在VS2010中修复。
答案 1 :(得分:0)
你确定你还没有在你的实际post.build文件中输入错字吗?也就是说,它应该不是。 XML区分大小写。
另外,我会仔细检查post.build文件是否与.csproj文件放在同一个文件夹中。