TFS - 找不到项目文件
TFS - Project File was not found
我在 TFS 中有一个包含 28 个项目的大型解决方案。构建定义当前每次都进行完整构建,并且工作正常。我将 "Clean Workspaces" 更改为 "None" 以尝试启用增量构建,但是当我在更改定义后对新构建进行排队时,它立即失败并显示以下消息:
Exception Message: The project file 'E:\Builds4\Sources\MyProject\Project.smproj' was not found. (type FileNotFoundException)
Exception Stack Trace: at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
奇怪的是,如果我将 "Clean Workspaces" 切换回 "All",它又会起作用。此错误仅在设置为 "None".
时出现
我应该寻找什么我做错了?
你做的是正确的。要启用增量构建,您只需编辑 Visual Studio 中的构建定义并将清理工作区 属性 设置为“None”。
当我们在 Build Definition 中设置“Clean Workspace = None”时,MSBuild 将跳过自动构建“未更改”的项目。然而,它会在构建过程中节省大量时间,但如果配置不当,可能会引起很多麻烦。输入和输出之间必须存在一对一的映射。您可以使用转换使目标能够识别此直接映射。来自 Microsoft 的更多信息:https://msdn.microsoft.com/en-us/library/ee264087(v=vs.140).aspx
考虑到您提到的场景,我不建议增量构建。通过不删除工作区,您可以缩短构建完成时间,但您可能 运行 陷入冲突。
我在 TFS 中有一个包含 28 个项目的大型解决方案。构建定义当前每次都进行完整构建,并且工作正常。我将 "Clean Workspaces" 更改为 "None" 以尝试启用增量构建,但是当我在更改定义后对新构建进行排队时,它立即失败并显示以下消息:
Exception Message: The project file 'E:\Builds4\Sources\MyProject\Project.smproj' was not found. (type FileNotFoundException)
Exception Stack Trace: at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
奇怪的是,如果我将 "Clean Workspaces" 切换回 "All",它又会起作用。此错误仅在设置为 "None".
时出现我应该寻找什么我做错了?
你做的是正确的。要启用增量构建,您只需编辑 Visual Studio 中的构建定义并将清理工作区 属性 设置为“None”。
当我们在 Build Definition 中设置“Clean Workspace = None”时,MSBuild 将跳过自动构建“未更改”的项目。然而,它会在构建过程中节省大量时间,但如果配置不当,可能会引起很多麻烦。输入和输出之间必须存在一对一的映射。您可以使用转换使目标能够识别此直接映射。来自 Microsoft 的更多信息:https://msdn.microsoft.com/en-us/library/ee264087(v=vs.140).aspx
考虑到您提到的场景,我不建议增量构建。通过不删除工作区,您可以缩短构建完成时间,但您可能 运行 陷入冲突。