我正在创建一个自定义构建定义,我想在签入时使用它来增加我的程序集编号。我跟着this blog指示在更改Workspace
时传入ReadOnly
文件。我有这样的源代码控制结构:
我已在解决方案 B 中为项目B 设置了自定义构建。我已经使用以下代码实现了一个记录器来记录正在进行测试的操作:
protected void TrackMessage(CodeActivityContext context, string message)
{
context.Track(new BuildInformationRecord<BuildMessage>()
{
Value = new BuildMessage()
{
Message = message,
Importance = BuildMessageImportance.High
}
});
}
从根本上说,当我override execute
时,我得到了:
Workspace workspace = context.GetValue<Workspace>(CurrentWorkspace);
foreach (WorkingFolder folder in workspace.Folders)
{
TrackMessage(context, string.Format("Working Folder: {0}", folder.LocalItem));
//Then get all directories for this working folder
}
我的工作文件夹以Team collaboration
形式出现,然后获取整个协作项目中的所有AssemblyInfo.*
个文件!我不知道我必须传递什么属性以及它是什么类型,我已经尝试研究它以找到用于将TeamCollaboration\Solution B\Project B
放入我的文件夹的属性。
关于我希望实现此目的的类型和属性的任何想法?
答案 0 :(得分:4)
我认为您可以通过缩小build configuration
内的工作文件夹映射来解决此问题。尝试按如下方式设置:
状态 源控制文件夹 构建代理文件夹
有效 $ /团队合作/解决方案B $(SourceDir)\
这将使此构建的工作区仅限于您要构建的解决方案。因此,只有其下的AssemblyInfo文件才对您的构建活动可见。
希望这有帮助。