我在巡航控制配置文件中创建了一个变量
我希望稍后在执行期间更改巡航控制中此变量的值。基本上我想要的是在执行task1时,'MyVariable'的值应该是'val1'并且在执行task2时,值应该是'val2'。
我想要的另一件事是,ui不应该进行手动交互或手动分配,应该自动更改值。
有人可以帮助我实现这个目标吗?任何建议/输入都会有很大帮助。提前谢谢。
答案 0 :(得分:4)
我正在使用以下方法编译一个具有不同参数的MSBuild(ccnet 1.8):
<cb:define name="Build">
<msbuild>
<some_parameter>$(MyVariable)</some_parameter>
<other_parameter>parameter_value</other_parameter>
</msbuild>
</cb:define>
然后在任务部分:
<cb:Build MyVariable="val1" />
<cb:Build MyVariable="val2" />
答案 1 :(得分:0)
如果MyVariable的那些值是常数(我的意思是对于给定的任务总是相同的)那么我会使用preprocessor。然后,您可以使用cb:scope。
覆盖该值例如,这是我对项目配置的处理方式:
<cb:scope
Project.Name = "ProjectName - Feedback - Integration tests"
Project.ShortName = "project-name-feedback-quick"
Project.Category = "Project Name - Feedback"
Project.Description = "Run integration tests"
>
<project name="$(Project.Name)" description="$(Project.Description)">
<artifactDirectory>$(CIRootFolderPath)\$(Project.ShortName)\Artifacts</artifactDirectory>
<workingDirectory>$(CIRootFolderPath)\$(Project.ShortName)\WorkingDir</workingDirectory>
<state type="state" directory="$(CIRootFolderPath)\$(Project.ShortName)" />
因此,您可以使用<task>
块围绕每个<cb:scope>
,并在那里重新定义MyVariable的值。