IVsSccProjectEnlistmentFactory 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个浏览对话框,用户可以在其中选择要保存源代码管理下的项目的位置。
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 在解决方案的配置文件中保存返回的值。
环境内的控制流如下所示:
用户选择源代码管理服务器中的解决方案或项目。
环境(以源代码管理存根的形式)使解决方案或项目成为本地系统。
解决方案类型开始读取解决方案属性。
源代码管理存根枚举解决方案中的项目 (请注意,尚未创建这些项目) 。
对于解决方案中的每个项目,将在本地检索和缓存项目的源代码管理信息文件。
如果任何项目支持登记选项 (因为项目类型实现了 IVsSccProjectEnlistmentChoice 接口,并且该 GetEnlistmentChoice 方法认为用户可以或必须) 登记选项,则源代码管理存根会通过调用以下内容来显示 "登记选项" 对话框:
如果用户取消登记选项,则会取消整个解决方案登记,并从本地系统中删除解决方案(如果该解决方案从源代码管理提取 ();否则,仅) 删除正在登记的项目。
确定所有登记后,源控件存根将在 OnBeforeEnlistmentCreate 创建每个登记之前调用方法,以允许项目类型执行任何特殊的设置 (例如,) 建立到源代码管理服务器的共享。
源代码管理存根记录解决方案配置中的本地登记路径。
然后,将创建登记,并且源控件存根将调用相应的源代码管理提供程序,以便实际从源代码管理中检索项目或解决方案。
源代码管理存根调用 OnAfterEnlistmentCreate 方法,以使该项目类型有机会执行任何创建后操作,如设置权限。
在从源代码管理创建并填充所有登记后,解决方案类型会开始将项目加载到内存。
登记过程已完成。
实施者说明
此接口由项目类型实现,以使用户能够浏览某个位置以便从源代码管理中检索基于 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) |
验证用户选择的登记。 |