2010-11-11 57 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

相關問題