簡體   English   中英

TFS工作流MSBuild活動項目位置

[英]TFS Workflow MSBuild Activity Project Location

我喜歡BuildProcessTemplates和“自定義裝配體”文件夾如何自動將構建腳本同步到構建控制器/代理上。 我已經用C#編寫了自定義活動,並了解了如何添加導入,以便可以在那些程序集中使用這些類型。

我還將看到如何通過MSBuild活動使用MSBuild文件。 我還注意到,如果將msbuild文件(例如foo.proj)檢入源代碼管理中的CustomAssemblies文件夾中,則該msbuild將顯示在服務器上的temp目錄結構中,以及我的自定義程序集旁邊。

所以這是我的問題? 如何在MSBuild活動的Project屬性中引用foo.proj的位置? 我一直在尋找變量之類的東西,但似乎無法將它們放在一起。

我找到了一種使用自定義代碼活動的方法。 基本上,我將其作為變量初始化模式連接到工作流中,然后在其他活動中使用它。 但是如果可能的話,我寧願不需要自定義程序集。

using System.IO;
using System.Activities;
using System.Reflection;
using Microsoft.TeamFoundation.Build.Client;

namespace BuildTasks.Activities
{

    [BuildActivity(HostEnvironmentOption.All)]
    public sealed class FindCustomAssembliesDirectory : CodeActivity
    {
        public OutArgument<string> CustomAssembliesDirectory { get; set; }

        protected override void Execute(CodeActivityContext context)
        {
            context.SetValue(CustomAssembliesDirectory, new FileInfo(Assembly.GetExecutingAssembly().Location).Directory.FullName);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM