【发布时间】:2017-06-30 21:48:51
【问题描述】:
这是我的场景(TFS Online - username.visualstudio.com/repo):
我有以下文件夹结构
--$
--TimeManagement (.sln file at this level)
--WebApp (Main branch) (.csproj at this level)
--WebApp-Dev (Dev Branch) (.csproj at this level)
--WebApp-QA (QA Branch) (.csproj at this level)
--TestTimeManagement (Test Project)
有了这个,我使用默认设置创建了一个构建,我的发布选项将成功构建推送到 azure 网站。在我遇到以下情况之前,这非常有效:
- 我需要为主分支和开发分支配置相同/唯一的测试项目
- 我需要更改特定的分支构建,所以我希望构建应该考虑分支的
.csproj而不是.sln文件。 - 我可以在每个构建的触发选项卡下进行更改 - 连续构建 - 添加带有分支特定文件夹的过滤器
- 在这种情况下,我的 dev 分支更改将主要执行构建相关并执行测试,当我最终将我的更改合并到 main 分支时,与其相关的构建将执行使用相同的测试用例。
- 我试图解决这个问题,但是,构建与
.csproj解决方案选项混淆了。它无法找到测试程序集 -**\*test*.dll
简而言之,我正在寻找设置 TFS(目前在线),其中将有多个分支(dev、main、staging、qa)和单个测试项目,并配置构建、特定分支更改的触发器。
疑问:我们可以在
.csproj级别创建分支还是只需要在.sln级别进行分支?
如果我能得到任何参考文档/视频,那就太好了!
【问题讨论】:
-
为什么不能只在解决方案级别进行分支?
-
这可以随时完成并且可行。我想知道我正在尝试的场景是可行的还是完全开箱即用的。避免跨解决方案重复代码/项目。
-
始终在解决方案级别进行分支。你的建议几乎总是一个坏主意。
-
@Fran,MrHinsh,是的,我明白这一点,但试图了解可行性。
-
以及分支之间的 nuget 包更改。如果您要签入包,这些将保留在解决方案级别。每个分支可能不同。
标签: c# visual-studio tfs