以下是关于我的项目的简要说明。
通过使用Build Definition,当我执行构建时,必须执行两个步骤
为此,我需要使用“Add Items to Folder ..”来添加我在第一步完成后生成的文件。并且,第二步再次执行构建...
如何自动将项目添加到文件夹?我想只运行一次构建..
如果我的解释不明确,请告诉我。
答案 0 :(得分:2)
当您在构建代理上运行构建定义时,您正在执行构建工作流,该工作流将执行一些准备步骤,最终它将运行msbuld来构建项目/解决方案。 您可以修改构建工作流程,但该过程具有更大的学习曲线,您需要熟悉Windows Workflow Foundation,这就是我将专注于msbuild部分的原因。
一般规则是以某种方式将msbuild目标插入到msbuild进程的生命周期中并运行您的例程,例如创建该额外文件并将其添加到适当的位置。 如果您的Web应用程序项目名称为 mywebapplication.csproj ,则可以创建 mywebapplication.wpp.targets msbuild文件,该文件将成为Web应用程序构建过程的一部分,您可以触发你自己的目标。 e.g。
<Target Name="MyTarget" AfterTargets="CoreCompile"> </Target>
CoreCompile 是作为.NET / Sdk / Visual Studio安装的一部分的目标。您也可以使用其他目标。在示例中,“MyTarget”将在您触发项目编译后执行。 在目标中,您可以创建文件。
对于Web应用程序,如果您使用msdeploy发布它,则可以使用collection将您先前创建的自己的文件添加到部署包中,如果这样做,您的文件将自动部署。您可以在上面的示例中的“MyTarget”中执行此操作。 http://sedodream.com/是一个很好的博客,会给你很多想法,他是关于构建自动化过程的主要人物,如果你想真正熟悉部署过程,一定要购买他的书。他在这里解释如何将自己的文件添加到部署包
http://sedodream.com/2012/10/09/VSWebPublishHowToIncludeFilesOutsideOfTheProjectToBePublished.aspx
对于其他类型的项目,您需要自己创建msbuild项目并运行它。您可以再次拥有自己的目标,在那里可以使用该文件执行操作,您可以通过调用<msbuild/>
任务明确构建项目,解决方案。
我希望有所帮助。
BISER