如何:疑难解答 Vspackage

下面是您可能具有包含 VSPackage,并解决问题的提示的常见问题。

疑难解答保留从启动的 Visual Studio 的 VSPackage

  • 开始在安全模式的 Visual Studio 。 在此过程中所有 Vspackage 忽略除附带 Visual Studio的 Vspackage。

    若要开始在安全模式的 Visual Studio ,请在命令提示符处,键入 devenv.exe /safemode

排除不加载的 VSPackage

  1. 确保使用 VSPackage 注册运行的注册表根,通常实验注册表根。

    有关更多信息,请参见 Visual Studio 的实验实例

  2. 如果 VSPackage 在的实验注册表根目标运行,请确保运行 Visual Studio的实验版本。

    若要运行该实验版本,请键入以下 Visual Studio 命令提示: devenv /rootsuffix exp

  3. 检查 VSPackage 注册表项。

    有关更多信息,请参见Registering VSPackages和 加载 Vspackage

  4. 打开无法加载 VSPackage Visual Studio 实例的 输出 窗口。 有关 VSPackage 的原因的信息无法加载该窗口可以显示。

    备注

    如果您 Visual Studio 启动的实验版本从 Visual Studio 集成 (IDE)开发环境,请检查 输出 窗口两个版本。

  5. 检查事件日志。

    有关更多信息,请参见 如何:使用事件日志

  6. 有关 IDE 引发的异常的更多信息,请单击 异常调试 菜单启用异常。 在 异常 对话框中选择要更多信息的异常类型。

排除不注册的 VSPackage

  • 确保 VSPackage 程序集位于受信任的位置。 RegPkg 不在不信任或部分受信任的位置可以注册程序集,例如在默认的网络共享。 net 安全配置。 虽然出现警告,只要用户在不可信位置创建项目, “不希望显示此消息”复选框可以再次阻止此警告重复出现。

排除不可见或生成错误的命令,当您单击命令

  1. 已合并新的或已更改的菜单命令以及在 IDE 通过键入以下 Visual Studio 命令提示: devenv /rootsuffix Exp /setup

  2. 确保 Visual Studio 能找到 VSPackage 中 UI.dll。

    1. 查找 VSPackage 的 CLSID 在注册表的包的一部分:

      \Software\Microsoft\Visual Studio HKLM \version\Packages

    2. 验证 SatelliteDll 子项给定的路径是正确的。

疑难解答出现意外行为的 VSPackage

  1. 在代码中设置断点。

    调试的是一个好的起点构造函数并初始化方法。 要计算的区域还可以设置断点,如菜单命令。 若要启用断点,必须在调试器下运行。

    1. 在**“项目”菜单上,单击“属性”**。

    2. 属性页 对话框中,选择 调试 选项。

    3. 在框中键入的 命令行参数 该的开发环境的根后缀 VSPackage 目标。 例如,选择实验性生成,键入: /RootSuffix Exp

    4. 在**“调试”菜单上,单击“开始调试”**,或者按 F5。

      请注意,如果正在调试项目,现在创建或加载项的现有实例。

  2. 使用事件日志。

    跟踪 VSPackage 行为通过编写信息对事件日志的要点。 ,在将零售环境中,运行 VSPackage 此方法尤其有用。 有关更多信息,请参见 如何:使用事件日志

  3. 使用公共符号。

    若要提高可读性,在调试时,可以将符号添加到调试器。

    1. 工具/选项 菜单,定位到 调试/符号 对话框。

    2. 将此 符号文件 (.pdb) 位置:

      http://msdl.microsoft.com/download/symbols

    3. 例如若要提高性能,请指定符号缓存文件夹,例如:

      C:\symbols
      

疑难解答缺少 VSPackage 或一个依赖项

  1. 对于托管代码,请确保引用路径是否正确。

    1. 在**“项目”菜单上,单击“属性”**。

    2. 选择在 属性页 对话框的 引用 选项并确定所有路径是否正确。 或者,可以使用 对象浏览器 为引用的对象浏览。

      对于托管代码,可以使用 Fuslogvw.exe(程序集绑定日志查看器) 显示失败的程序集加载详细信息。

  2. 对于非托管代码,找到 VSPackage 的 CLSID 在 Visual Studio CLSID 注册表节点的:

    \Software\Microsoft\Visual Studio HKLM \version\CLSID

确保 InprocServer32 项包含 VSPackage dll 的正确路径。

请参见

其他资源

Vspackage