【问题标题】:Mark project changes as pending in source control在源代码管理中将项目更改标记为待处理
【发布时间】:2018-04-06 18:05:42
【问题描述】:

我有一个小型 C# 控制台程序,它使用 Microsoft.Build.Evaluation.Project 的 AddItem() 方法将多个语言 .resx 文件添加到多个解决方案中的所有项目中。这工作正常。

问题是,这些更改不会在源代码管理中显示为待处理的更改。我希望看到标记为待更改的 .csproj 文件和标记为待添加的新 .resx 文件。应该使用哪些 API 来执行此操作?我找到了 SccAdd() 本机 API (https://docs.microsoft.com/en-us/visualstudio/extensibility/sccadd-function),但它看起来需要由 IDE 调用,而不是从我的命令行实用程序调用。

环境:c#控制台程序为VS2015。它正在修改的项目是VS2008 Compact Framework 3.5。当前的源代码控制系统是 TFS 2015。

【问题讨论】:

    标签: tfs msbuild


    【解决方案1】:

    您可以使用 TFS API 在工作区中挂起更改,然后将文件签入到 TFS。使用Workspace.PendAdd 方法将文件或文件夹排队以添加到版本控制存储库。要么创建一个临时工作区,要么使用你的项目文件所在的那个。

    这是使用 TFS API 添加挂起更改、签入代码的详细信息example。你也可以看看这个问题:Calls to `Workspace.PendAdd` not adding items

    【讨论】:

    • 谢谢,我会看看。我希望找到一些不需要我的实用程序了解 TFS 细节而是宁愿使用该 VS 解决方案存在的任何源代码控制绑定的东西。
    猜你喜欢
    • 1970-01-01
    • 2021-05-13
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 2019-12-30
    • 1970-01-01
    相关资源
    最近更新 更多