2010-11-11 56 views
2

根据非常有用的文章Writing Your First Visual Studio Language Service的说明,我为我的软件工作室的内部脚本语言编写了新的Visual Studio语言服务。我的语法运行良好,一些简单的goto案例正在运行,还有文字着色。我已经在Irony Grammar Explorer和Visual Studio Experimental Hive中完成了我的测试,我觉得我已经准备好在Visual Studio中正常使用它,并将它部署到其他一些程序员进行一些早期测试和反馈。安装自定义Visual Studio语言服务

问题是我不知道如何安装语言服务。我有这个在实验Hive中工作的漂亮的小DLL,但不知道如何在启动Visual Studio时运行它。我看遍了整个互联网,发现特定的一步在我看来无处不在。也许我只是盲目,或者比我想象的要容易得多,但是如果有人能够给我详细的关于如何安装我的语言服务的步骤,我会非常感激。

在此先感谢!

回答

5

在这里获得Tumbleweed徽章后,我设法追查解决方案。有一些重要的部分人可能会觉得有用。

首先需要一个PLK(包装载入密钥)。它可以在这里生成:http://msdn.microsoft.com/en-us/vstudio/cc655795.aspx 一定要确保您输入的所有信息都正确,并输入到dll的程序集中。

通过向解决方案的rsx文件(通常为项目104)添加PLK,然后在代码中的ProvideLoadKey属性中匹配该项目编号来安装PLK。

接下来测试PLK是有点麻烦。提示可以在这里找到:http://msdn.microsoft.com/en-us/library/bb164677%28v=VS.90%29.aspx我强烈建议首先使用/ noVSIP开关与实验配置单从一开始。我发现使用/ log并没有什么帮助,一旦你安装了你的软件包并且仍然有PLK问题,使用Package Load Analyzer会更好。 devenv的/命令tools.analyzepackage/analyzeargs {您的GUID} analyzepkg.txt

一旦你满意,并准备部署:

从包负载仪更详细的说明可以使用此命令行来完成,有一个教程,似乎比它应该在MSDN更埋藏http://msdn.microsoft.com/en-us/library/bb458038%28VS.90%29.aspx

有一件事,我发现很好奇与VS SDK bin目录中找到的RegPkg工具是它会导致我的包加载罚款它存在的开发解决方案,但不会在其他解决方案中加载。似乎有一个额外的步骤来调用我缺少的devenv/setup,这在我通过使用自定义操作在前一段中提供的部署教程中得到了解决。

无论如何,我希望这可以帮助有人通过与我一样的过程。

+0

我应该提到一些这是VS2008具体。他们在VS2010中简化了这个过程。 – ColinCren 2011-08-31 22:47:05

3

另外一件事,我花了几个小时撞到MSDN教程没有提到:如果您正在部署到64位计算机,则给出的指示信息将不起作用。经过相当多的搜索之后,我偶然发现了这个论坛主题的一半,发布了解释:http://social.msdn.microsoft.com/Forums/en/vsx/thread/989c5bea-3dd0-4e60-891a-f8f006e1b9a2

MSDN教程说在这里安装注册表项和regpkg。exe文件在这里生成注册表项,以及:

HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\... 

但在64位计算机时,Visual Studio不加载其设置在那里,但是从这里:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\9.0\... 

请注意,在没有额外的“Wow6432Node”;注册表项在其他方面是相同的,但是路径中的额外“Wow6432Node”。因此,在64位机器上,您可能需要使用这些扩展注册表项,也可以将两个混合32/64位.dll安装到这两组注册表项,而不会产生不良影响。我有一个.reg文件可以安装到两组密钥中,并且它工作得非常好。

希望这有助于节省别人一些时间!

(对于它的价值,我用regpkg的“代码库”的模式,而不是“集结号”模式。)

+0

非常有趣,我没有碰到这个,但很高兴知道! – ColinCren 2011-08-05 04:22:06

相关问题