ProjectTypeResolutionService 类

提供 ITypeResolutionService 接口的 Visual Studio 实现的抽象类。

继承层次结构

System.Object
  Microsoft.VisualStudio.Shell.Design.ProjectTypeResolutionService

命名空间:  Microsoft.VisualStudio.Shell.Design
程序集:  Microsoft.VisualStudio.Shell.Design(在 Microsoft.VisualStudio.Shell.Design.dll 中)

语法

声明
Public MustInherit Class ProjectTypeResolutionService
public abstract class ProjectTypeResolutionService

ProjectTypeResolutionService 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 ProjectTypeResolutionService 当重写在派生类中,初始化类的新实例。

页首

方法

  名称 说明
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetType() 获取当前实例的 Type。 (继承自 Object。)
公共方法 GetType(String, Boolean, Boolean, ReferenceType) 在派生类中实现时,尝试检索基于搜索条件的引用类型 (该类型及其区分大小写的名称。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

备注

Visual Studio 类型解析根据解析为其对应的 Visual Studio 的项目类型名称引用。这些引用可以采用多种形式:

类型引用

说明

磁盘上的文件

这些可能不会中断方法 GAC 基于引用工作的简单磁盘引用。这意味着必须从 GAC 中加载到其上的引用在 GAC 中,则不从 SDK 内容。

项目引用

要求项目输出文件的位置。类型解析还必须监视与到项目输出文件重命名和切换配置 Visual Studio 事件。在配置开关情况下将生成的项目将输出到不同的目录。

生成的输出

工具可以生成代码直接添加到项目中。此代码成为一部分的项目,但是,它可以是项目生成的要求,因此其双重可访问,而没有生成整个项目。必须首先搜索这些生成的输出,,因为它们里面的类型始终与当前项目的冲突。,因为这些不会自动,生成类型解析也必须知道与 “重新生成输出的 Visual Studio 事件。

每个加载的程序集。 AssemblyEntry 对象返回,并且,这些对象上述分解到组。磁盘上的文件和文件对项是指向同一对象。并行列表的两个实现,因为对项始终是加载的内存,此过程降低性能。检索模式先遍历该引用磁盘上的文件的列表,因为许多 DLL 可通过 GAC 中加载,从性能视图是有效。如果检索为磁盘上的文件失败列表昂贵对项目的列表中查找下 transverses。

加载生成的输出需要做出最高开销的类型检索从 Visual Studio 的生成。不过,因为生成的输出,引用的特定子集到项目中,允许对类型,计算与这些项的性能成本表示大性能损害,生成的输出仍然必须检查前面项目引用。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Shell.Design 命名空间