1

这是关于我的项目的简要说明。

通过使用构建定义,当我执行构建时,必须执行两个步骤

  1. 生成文件
  2. 部署我生成的文件

为此,我需要使用“将项目添加到文件夹..”来添加我在第一步完成后生成的文件。并且,为第二步再次执行构建...

如何自动将项目添加到文件夹?我只想运行一次构建..

如果我的解释不清楚,请告诉我。

4

1 回答 1

2

当您在构建代理上运行构建定义时,您正在执行构建工作流程,该工作流程将执行一些准备步骤,最终它将运行 msbuld 来构建您的项目/解决方案。您可以修改构建工作流,但该过程具有更大的学习曲线,并且您需要熟悉 Windows Workflow Foundation,这就是我将专注于 msbuild 部分的原因。

一般规则是以某种方式将您的 msbuild 目标插入 msbuild 进程的生命周期并运行您的例程,例如创建该额外文件并将其添加到适当的位置。如果您有一个名为mywebapplication.csproj的 Web 应用程序项目,您可以创建mywebapplication.wpp.targets msbuild 文件,该文件将成为您的 Web 应用程序构建过程的一部分,并且您可以触发自己的目标。例如

<Target Name="MyTarget" AfterTargets="CoreCompile"> </Target>

CoreCompile是作为 .NET/Sdk/Visual Studio 安装的一部分的目标。您也可以使用其他目标。在示例中,“MyTarget”将在您触发项目编译后执行。在您的目标中,您可以创建文件。

对于 Web 应用程序,如果您使用 msdeploy 发布它,您可以使用集合将您之前创建的自己的文件添加到部署包中,如果您这样做,您的文件将被自动部署。您可以在上面示例中的“MyTarget”中执行此操作。http://sedodream.com/是一个能给你很多想法的好博客,他是构建自动化过程的主要人物,如果你想真正熟悉部署过程,一定要买他的书。这里他解释了如何将自己的文件添加到部署包中

http://sedodream.com/2012/10/09/VSWebPublishHowToIncludeFilesOutsideOfTheProjectToBePublished.aspx

对于其他类型的项目,您需要创建自己的 msbuild 项目并运行它。再次,您可以拥有自己的目标,您可以在其中对文件进行处理,您可以通过调用<msbuild/>任务明确构建您的项目和解决方案。

我希望这会有所帮助。

比塞尔

于 2013-01-30T00:46:57.570 回答