VSIP开发版中的Visual Studio包的Plk验证疑难解答

时间:2009-10-13 11:15:51

标签: visual-studio visual-studio-2008 dsl-tools vspackage vsip

我有一个自定义域特定语言项目,它是在不久前开发的,在普通Visual Studio配置单元中的同一台机器上部署和运行,没有任何问题。

服务器已重新安装,我正在尝试再次设置环境,因此正常的配置单元(使用Visual Studio 2008 SDK的Visual Studio VSIP Edition SP1)可以使用DSL。

但是VSPackage没有加载。 Package Load Analyzer给出了“Plk Verification”错误。 “无法阅读包{guid}的以下值之一 - 公司名称,包装指南,产品名称,产品版本,最低版本。”

现在我明白,如果我部署到非VSIP版(或使用/ noVSIP运行devenv),我需要从Microsoft获得Plk,但由于我在运行DSL的同一台开发机器上运行,应该有一个开发Plk。 Visual Studio在开始时也告诉我:

VSIP: Developer edition, all third-party packages allowed to load.

如果我启动DSL项目并在实验配置单元中调试它,那么一切正常,加载包并显示所有自定义编辑器。

有关如何进一步排除故障的想法吗?

问题可能在于DSL项目是在不同的服务器上创建的,即使我已经重新编译了新服务器上的所有内容,开发密钥与服务器有某种关系并且附加在项目文件中某处?如果是这样,任何想法在哪里?

1 个答案:

答案 0 :(得分:2)

这令人惊讶。由于您安装了VSIP SDK并且未使用/ noVSIP开关,因此我也希望禁用PLK检查机制(无论配置文件如何)。然而,封装负载分析器指示一个问题,并且封装负载分析器可能更好地判断VS是否会加载封装而不是我们。

您是否尝试过将PLK应用到VSPackage?这并不难。有关如何获取PLK的信息,请参阅here,然后了解如何将其应用于代码的下一主题。在应用PLK后,您可以根据需要重建和更改VSPackage。唯一不能改变的是四个值散列并烘焙到PLK中。 (这些是视觉工作室的产品名称,包名称,版本字符串和最低要求版本。当您请求PLK时,您提供的这四个值必须与您在VSPackage中注册的值相匹配。)如果您以后决定更改其中一个值,你可以得到另一个PLK。