[英]Dotnet test task fails with ''MSB1008: Only one project can be specified" error after upgrade to version 2.0
[英]MatchPattern in TFS build definition causing MSBUILD : error MSB1008: Only one project can be specified
我目前正在TFS中更新构建定义,并且我需要找到需要在我们的解决方案中构建的项目。 这是通过将文件添加到项目并将其用作标志来完成的。 目前,这样做是这样的:
<mtbwa:FindMatchingFiles
DisplayName="Find ClickOnce Projects"
sap2010:WorkflowViewState.IdRef="FindMatchingFiles_2"
MatchPattern="[String.Format("{0}\**\ProjectToBuild.txt", Path.GetDirectoryName(localProject))]"
Result="[ClickOnceFlags]" />
我们在不同的项目中有不同的标志,在不同的构建中有不同的构建模板文件。 我想从MatchPattern属性中删除“ ProjectToBuild.txt”,并添加一个名为FlagName的变量,该变量在定义构建定义时设置。 这样,我们将相同的构建模板文件用于多个构建定义。
结果如下:
<mtbwa:FindMatchingFiles
DisplayName="Find ClickOnce Projects"
sap2010:WorkflowViewState.IdRef="FindMatchingFiles_2"
MatchPattern="[String.Format("{0}\**\{1}", Path.GetDirectoryName(localProject), FlagFileName)]"
Result="[ClickOnceFlags]" />
我将字符串格式的文件名更改为{1},并向构建模板文件添加了一个名为FlagFileName的变量。
<x:Property Name="FlagFileName" Type="InArgument(x:String)" />
为了测试这一点,我只需将FlagFileName变量设置为“ ProjectToBuild.txt”,并尝试运行该构建,并期望获得与以前相同的结果。 但相反,它无法完成构建,引用
MSBUILD : error MSB1008: Only one project can be specified.
谁能告诉我这里出了什么问题?
我们最终解决了该错误,但与上面的命令无关,它与我们在构建过程中使用的程序之一有关,该程序在作为测试构建运行时未响应,因此没有响应。
更准确地说,我们正在尝试测试一种利用我们构建的定制程序的部署方法。 我们没有检查该程序,它实际上使用该标志来确定程序版本(这只是使用测试版本时的一个问题)。 这导致版本不一致,从而导致问题进一步恶化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.