IVsSccProjectEnlistmentFactory 接口

定义

提供一个浏览对话框,用户可以在其中选择要保存源代码管理下的项目的位置。

public interface class IVsSccProjectEnlistmentFactory
public interface class IVsSccProjectEnlistmentFactory
__interface IVsSccProjectEnlistmentFactory
[System.Runtime.InteropServices.Guid("53544C4D-00F8-11D0-8E5E-00A0C911005A")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsSccProjectEnlistmentFactory
[<System.Runtime.InteropServices.Guid("53544C4D-00F8-11D0-8E5E-00A0C911005A")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsSccProjectEnlistmentFactory = interface
Public Interface IVsSccProjectEnlistmentFactory
属性

注解

通过在接口上调用来搜索此接口 QueryInterface IVsProjectFactory

此接口允许用户根据解决方案的位置) (重写项目的隐含位置,并显式设置一个新位置。

环境调用 GetEnlistmentChoice 方法来确定是否要使用此接口。 环境 GetEnlistmentChoice 在解决方案的配置文件中保存返回的值。

环境内的控制流如下所示:

  1. 用户选择源代码管理服务器中的解决方案或项目。

  2. 环境(以源代码管理存根的形式)使解决方案或项目成为本地系统。

  3. 解决方案类型开始读取解决方案属性。

  4. 源代码管理存根枚举解决方案中的项目 (请注意,尚未创建这些项目) 。

  5. 对于解决方案中的每个项目,将在本地检索和缓存项目的源代码管理信息文件。

  6. 如果任何项目支持登记选项 (因为项目类型实现了 IVsSccProjectEnlistmentChoice 接口,并且该 GetEnlistmentChoice 方法认为用户可以或必须) 登记选项,则源代码管理存根会通过调用以下内容来显示 "登记选项" 对话框:

  7. 如果用户取消登记选项,则会取消整个解决方案登记,并从本地系统中删除解决方案(如果该解决方案从源代码管理提取 ();否则,仅) 删除正在登记的项目。

  8. 确定所有登记后,源控件存根将在 OnBeforeEnlistmentCreate 创建每个登记之前调用方法,以允许项目类型执行任何特殊的设置 (例如,) 建立到源代码管理服务器的共享。

  9. 源代码管理存根记录解决方案配置中的本地登记路径。

  10. 然后,将创建登记,并且源控件存根将调用相应的源代码管理提供程序,以便实际从源代码管理中检索项目或解决方案。

  11. 源代码管理存根调用 OnAfterEnlistmentCreate 方法,以使该项目类型有机会执行任何创建后操作,如设置权限。

  12. 在从源代码管理创建并填充所有登记后,解决方案类型会开始将项目加载到内存。

登记过程已完成。

实施者说明

此接口由项目类型实现,以使用户能够浏览某个位置以便从源代码管理中检索基于 Web 的项目或解决方案,在项目中也称为登记。

调用方说明

此接口由环境在以下情况下调用:当需要从源代码管理中检索项目时,以及当用户可能需要在何处选择要放入本地登记的位置时。

方法

BrowseEnlistment(String, String, String, String)

显示允许用户更改登记选择的 "浏览" 对话框。

GetDefaultEnlistment(String, String, String)

根据指定的项目路径检索建议的登记路径。

GetEnlistmentFactoryOptions(UInt32)

检索控制登记选择选择的选项。

OnAfterEnlistmentCreate(String, String, String)

在完全创建登记后由环境调用。

OnBeforeEnlistmentCreate(String, String, String)

允许项目在实际创建登记之前执行任何特殊操作。

ValidateEnlistmentEdit(Int32, String, String, String, Int32)

验证用户选择的登记。

适用于