关于TFSBUILD自动部署的问题

romanchaos 2014-10-27 12:35:55
生成控制器和生成代理已经建好,目标是这样的:通过不同的生成定义在点击入队的时候自动将生成的站点复制到对应开发环境和测试环境。
现在的方法是修改Microsoft.WebApplication.targets,将Microsoft.WebApplication.targets复制到项目下面的一个Targets文件夹,然后在_CopyWebApplicationLegacy的节点中添加复制的节点,如下:

<PropertyGroup>
<WebProjOutputDir>$(OutDir)_PublishedWebsites\$(MSBuildProjectName)</WebProjOutputDir>
<TestOutputDir>\\Vmforweb\msbuildtesttest\MsBuildTest</TestOutputDir>
</PropertyGroup>
<Target Name="_CopyWebApplicationLegacy" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'" >
<!-- 复制测试 -->
<Message Text =" TESTTEST=@(WebProjOutputDir),TESTTESTTEST=@(TestOutputDir)"/>
<Delete Condition ="Exists($(TestOutputDir))" Files="$(TestOutputDir)" />
<Copy Condition=" '%(Content.Link)' == '' " SourceFiles="%(Content.Identity)" DestinationFolder="$(WebProjectOutputDir)\%(Content.RelativeDir)" />
<Copy Condition=" 'WebProjOutputDir' != '' AND Exists('WebProjOutputDir') " SourceFiles="WebProjOutputDir" DestinationFolder="TestOutputDir"/>
<!-- Log tasks -->
<Message Text="Copying Web Application Project Files for $(MSBuildProjectName)" />

可是在生成定义进队后查看其log,_CopyWebApplicationLegacy已经跑了,但只能看到Copying Web Application Project Files for这一个输出,而TESTTEST的输出完全没有,\\Vmforweb\msbuildtesttest\MsBuildTest里也没有任何文件就如同完全没跑那样,请问该怎么设置呢?附站点csproj的修改

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!--<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />-->
<!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />-->
<Import Project="Targets\Microsoft.WebApplication.targets" />

被注释的节点是原来的,下面那个Targets\Microsoft.WebApplication.targets就是站点项目里新建的Targts文件夹和复制出来的Microsoft.WebApplication.targets
...全文
82 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧