MSBuild和_PublishedWebsites

时间:2009-05-21 15:08:49

标签: msbuild

在MSbuild构建我的解决方案(使用asp.net网站)之后,webdeployment项目已经构建并将网站放在目录_PublishedWebsites:

C:\ mybuilds \ buildName \ Daily_20090519.3 \ Release_PublishedWebsites \ MyWebsite

如何将其复制到IIS指向测试网站的固定目录?

我找到了很多代码片段,但我似乎无法找到一个会考虑到这个目录名称发生变化的事实。

2 个答案:

答案 0 :(得分:1)

这很简单。您可以编辑项目并插入类似于以下内容的内容。

<PropertyGroup>
  <OutputDest>$(MSBuildProjectDirectory)\..\OutputCopy\</OutputDest>
</PropertyGroup>
<Target Name="AfterBuild">
  <!-- Create an item with all the output files -->
  <ItemGroup>
    <_OutputFiles Include="$(OutputPath)**\*" Exclude="$(OutputPath)obj\**\*" />
  </ItemGroup>
  <!-- You probably don't want to include the files in the obj folder so exclude them. -->

  <Message Text="OutputDest : $(OutputDest)" />
  <Copy SourceFiles="@(_OutputFiles)"
        DestinationFiles="@(_OutputFiles->'$(OutputDest)%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>

这是你在找什么?

我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

答案 1 :(得分:1)

我正在使用不同的技术。

<PropertyGroup>
    <BinariesRoot>c:\BinariesForIis\</BinariesRoot>
</PropertyGroup>

c:\BinariesForIis\将用于直接输出编译的二进制文件(在复制到...\Daily_20090519.3\Release_之前...)。