[英]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.