我有一個.net解決方案來獲取一組變更集到在配置文件[values.xml]中指定的TFS本地工作區。一旦與變更集關聯的文件下載到與工作區相關聯的本地工作文件夾中,我就有一個單獨的打包腳本,可以從這些文件中創建msi。 .net解決方案工作正常,但通常。在下列情況下會出現問題:.net解決方案獲取與TFS中的變更集相關的文件
說我有一個更改集:C717171,它與我在web.config文件上完成的更改相關聯。 配置文件[values.xml]在其中列出了此變更集,這意味着.net解決方案必須將此特定變更集導入TFS本地工作區,之後單獨的打包腳本將接管。
實際情況是,.net解決方案將所有存儲在存儲庫中的web.config文件放在需要的位置。
var changesets = vcs.QueryHistory(repository, VersionSpec.Latest, 0, RecursionType.Full, null, versionFrom, versionTo, Int32.MaxValue, true, false).Cast<Changeset>();
Workspace myworkspace = vcs.CreateWorkspace(workspaceName, tfsUser);
var workingFolder = new WorkingFolder(repository, workspacePath);
// create WorkingFolder and mapping
myworkspace.CreateMapping(workingFolder);
foreach (Changeset changeset in changesets.OrderBy(c => c.ChangesetId))
{
var version = new ChangesetVersionSpec(changeset.ChangesetId);
foreach (Change change in changeset.Changes)
{
myworkspace.Get(new[] { change.Item.ServerItem }, version, RecursionType.Full, GetOptions.Overwrite);
}
}
如有需要,我可能會提供更多詳情。
是否所有下載的web.config文件,或者只是位於同一文件夾中的web.config文件以及每個變更集中每個「服務器項目」的所有子文件夾?我會看你使用RecursionType,看看是否使用Full來糾正問題。 – d3r3kk
下載所有web.config文件。 – skundu