我一直在研究以下内容:
我设法让MSBuild文件和CC集成,但我需要传递一个变量,然后我可以传递给CC任务,以便在构建完成时标记sourcesafe。
有什么想法吗?
答案 0 :(得分:0)
一个想法是让你的MSBuild创建一个环境变量与它的标签,然后它将在该项目的所有后续任务中可用。但是我想知道为什么你会以这种格式使用日期时间,因为所有意图和目的的两个点都已经有了日期。为什么不使用像build编号这样的有意义的标签,然后让MSBuild从状态文件中获取标签格式并使用它来更新Assembly信息。然后你的贴标机就会使用它。无需保留和转移。我说时间/日期无关紧要的原因是正常的过程都会准备好告诉你标签和exe的创建日期/时间。为什么要两次?
答案 1 :(得分:0)
根据我的经验,CCNet通常会生成内部版本号(在您的情况下,基于当前日期和时间)。您将需要在ccnet.config文件中使用Date Labeller。
MSBuild Community Tasks Project中有一个AssemblyInfo任务。您可以指定目标AssemblyInfo.cs文件以及要分配给哪些属性的值。
CCNet生成的构建标签通过$(CCNetLabel)
变量传递给MSBuild。这在CCNet调用MSBuild时自动完成,因此您可以在MSBuild文件中开始使用$(CCNetLabel)
。这照顾了上面的#1。
对于#2,您需要在ccnet.config文件的SourceControl块中添加它:
<applyLabel>True</applyLabel>
如果构建成功,这将导致版本作为Visual SourceSafe中的标签应用。