与复制目标在TFSBuild.proj问题
题
由于我的TFS(2008)构建的一部分我要的二进制文件和一个ASP.NET MVC项目的意见手动复制到多个不同的位置。所有现有的二进制文件和视图复制成功。然而不幸的是,任何新添加的意见他们的第一个构建过程中被忽略。如果我然后启动另一个构建,它们被包含。
下面是我给TFSBuild.proj ...
提出的添加物的一个片段<ItemGroup>
<BinaryFiles Include="$(BinariesRoot)\Debug\_PublishedWebsites\SiteName\bin\*.*" />
<ViewFiles Include="$(BinariesRoot)\Debug\_PublishedWebsites\SiteName\Views\**\*.aspx" />
<ViewFiles Include="$(BinariesRoot)\Debug\_PublishedWebsites\SiteName\Views\**\*.ascx" />
</ItemGroup>
<Target Name="AfterDropBuild">
<Message Text="Starting deployment copy..." />
<Copy SourceFiles="@(BinaryFiles)" DestinationFolder="T:\BuildWebSiteHosting\WebSite\bin\" ContinueOnError="false" />
<Copy SourceFiles="@(ViewFiles)" DestinationFolder="T:\BuildWebSiteHosting\WebSite\Views\%(RecursiveDir)" ContinueOnError="false" />
<Message Text="Deployment copy completed." />
</Target>
我怀疑是要复制的文件列表中正在修建为时尚早。我应该用“AfterDropBuild”或者是他们的一个更好的目标的名字吗?
解决方案
我设法解决这个我自己(这是非常有益的只是问的问题,并组织我自己的想法!)。我的文件的名单正在太快内置怀疑是正确的。通过将的ItemGroup目标元素中时,其被评估,你可以指定。
更正片段是:
<Target Name="AfterDropBuild">
<ItemGroup>
<BinaryFiles Include="$(BinariesRoot)\Debug\_PublishedWebsites\SiteName\bin\*.*" />
<ViewFiles Include="$(BinariesRoot)\Debug\_PublishedWebsites\SiteName\Views\**\*.aspx" />
<ViewFiles Include="$(BinariesRoot)\Debug\_PublishedWebsites\SiteName\Views\**\*.ascx" />
</ItemGroup>
<Message Text="Starting deployment copy..." />
<Copy SourceFiles="@(BinaryFiles)" DestinationFolder="T:\BuildWebSiteHosting\WebSite\bin\" ContinueOnError="false" />
<Copy SourceFiles="@(ViewFiles)" DestinationFolder="T:\BuildWebSiteHosting\WebSite\Views\%(RecursiveDir)" ContinueOnError="false" />
<Message Text="Deployment copy completed." />
</Target>
不隶属于 StackOverflow