我正在尝试设置TFS版本。我已经定制了默认的TFS2013工作流,以便在MSBuild命令之前获取BuildDetail。但是,我现在遇到了构建错误:
MSBUILD:错误MSB1008:只能指定一个项目。 切换:不是
对于切换语法,请键入“MSBuild / help”
我的命令行参数如下:
/target:publish;/p:PublishDir=\\Server1\PublishDir\;PublishingURL=https://www.website.com
我已经玩过这个了,因为我在这里读了几个问题,这些问题都指向一个空格,引用或错误位置的斜线。
我还将MSBuild命令更改为:
String.Format("/p:SkipInvalidConfigurations=true /p:BuildNumber={1} {0}", AdvancedBuildSettings.GetValue(Of String)("MSBuildArguments", String.Empty), BuildDetail.BuildNumber)
我的目标是从proj文件中访问BuildNumber。
有人能指出我正确的方向来诊断吗?
编辑:
根据下面@ sburgess123的回答,使用$(TF_BUILD_BUILDNUMBER)
会导致构建中出现异常。例外并没有大的帮助;但它在这里:
运行MSBuild
异常消息:MSBuild错误1已结束此构建。 您可以找到有关此错误原因的更多具体信息 在上面的消息。 (类型BuildProcessTerminateException)异常 堆栈跟踪:at System.Activities.Statements.Throw.Execute(CodeActivityContext 上下文) System.Activities.CodeActivity.InternalExecute(ActivityInstance 实例,ActivityExecutor执行程序,BookmarkManager bookmarkManager) 在 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,BookmarkManager bookmarkManager,Location resultLocation)
看了之后,我在日志中的任何地方都找不到实际的错误,但是如果删除对$(TF_BUILD_BUILDNUMBER)
的引用就没关系了。
答案 0 :(得分:0)
您不需要修改构建过程模板来执行此操作。 2013年,您可以访问许多环境变量。请参阅msbuild'中使用环境变量数据部分。在以下链接中: