在重新设计我们的部署过程时,我转而使用 MSBuild 项目来代替我们现有的批处理文件。所有主要元素都已到位,我本来想减少一两步,但遇到了障碍。
我正在使用 CombinePath 任务创建一个名为 OutputPath 的属性,虽然在创建它之后我可以毫无问题地访问它,但我不知道如何利用它来发挥我的优势。考虑:
<CombinePath BasePath ="$(DeployFolderRoot)" Paths ="$(DeployReleaseFolder)$(ReleaseFolderFormatted)" >
<Output TaskParameter ="CombinedPaths" ItemName ="OutputFolder"/>
</CombinePath>
<MakeDir Directories="@(OutputFolder)" />
<MakeDir Directories="@(OutputFolder)\Foo" />
<MakeDir Directories="@(OutputFolder)\Bar" />
命令 2 和 3 失败,因为我正在引用一个数组并尝试与一个字符串连接。创建一个属性并将其分配给 @(OutputFolder) 只会导致另一个项目组,而不是我可以使用 $ 访问器引用的属性。我确实有一个丑陋的解决方法,但我想稍微澄清一下。
谢谢,
-何塞