Web部署项目AfterBuild路径问题
我目前正在为Web项目设置构建服务器。我正在使用Web部署项目来创建一个可部署的包,我想要做一些简单的文件管理(复制webDeploy.config - > web.config并删除.csproj文件)。Web部署项目AfterBuild路径问题
我的目标如下所示:
<Target Name="AfterBuild">
<Delete Files="$(OutputPath)\*.csproj" />
</Target>
然而,检查WDP的输出给了我这个
Target "AfterBuild" in file "C:\project\Deployment\Project.Deployment.wdproj":
Task "Delete"
File ".\Debug\*.*" doesn't exist. Skipping.
Done executing task "Delete".
Done building target "AfterBuild" in project "Project.Deployment.wdproj".
部署路径确实包含调试路径。我究竟做错了什么?
如果你想使用通配符,您将拥有一个项目列表这么做。项目列表将负责为您扩展通配符。所以在你的情况下:
<Target Name="AfterBuild">
<ItemGroup>
<FilesToDelete Include="$(OutputPath)\*.csproj" />
</ItemGroup>
<Delete Files="@(FilesToDelete)" />
</Target>
FilesToDelete错字后不是第一个'='吗? – UpTheCreek 2011-01-11 17:47:23
@UpTheCreek,你是对的。我修复了它。谢谢。 – 2011-01-11 19:16:54
我自己试过了,很震惊,但解释很简单:你不能使用通配符(MSBuild Team Blog)。
样品:
<ItemGroup>
<ProjectConfigFiles Include="$(OutputPath)\*.csproj" />
</ItemGroup>
<Target Name="AfterBuild">
<Delete Files="@(ProjectConfigFiles)" />
</Target>
实际上,有一种方法可以检查Sayeds的答案。 – 2010-02-05 13:47:50
Feedback is good。 – Filburt 2010-02-05 12:07:56