2012-01-14 17 views
3

VsClojureのバグを修正しようとしています。Visual Studioは、Clojureプロジェクトとして拡張子.cljprojのファイルを認識しません。これは、VSがまだ開いていない場合にのみ発生します。言い換えると、VSを開いてClojureプロジェクトを含むソリューションを開くと、そのプロジェクトを認識します。しかし、エクスプローラからソリューションを開いたり、エクスプローラからプロジェクト自体を開くと、「このプロジェクトタイプはVisual Studioで認識されません」と表示されます。プロジェクトファイルタイプをVisual Studio Extension(VSIX)のプロジェクトタイプに関連付ける方法

このプロジェクトタイプを認識するためにVisual Studioがロードする必要があるものは、エクスプローラからプロジェクトを開くときにすぐに読み込まれませんが、Visual Studioが起動して実行されているときに読み込まれます。私の質問では、拡張機能のプロジェクトタイプを認識するためにVisual Studioがロードする必要があるのは何ですか? Visual Studioにロードする方法を教えてください。

答えはMSDNのVSIXドキュメントを見てきましたが、多くのドキュメントがあり、私が見たところでは、この質問には何も見ませんでした。 IronPythonの拡張も見てきましたが、VsClojureのものとはまったく異なった構造になっているようです。どんな助けでも大歓迎です。

答えて

2

Visual Studioが* .cljprojファイルを認識してロードできるように、プロジェクトタイプをレジストリに追加する必要があります。 MSDNの記事を参照してください。thisの記事と、新しいプロジェクトタイプを追加する際のすべてのステップが含まれています。

VSIX形式は厳密には、ファイルベースの展開を使用し、グローバルアセンブリキャッシュ(GAC)への書き込み サポートしない、または:

残念ながらあなたはMSDN statesとして、VSIXからこの変更を加えることはできませんシステム レジストリに。

代わりにMSIインストーラを作成する必要があります。その場合はMSI creation methodを選択してください。 IronPythonはWindows Installer XML (WiX) toolsetを使用していますので、これを例として使用できます。

<Component Id="Comp_PyProgRegistration" DiskId="1" Guid="A7BC75A8-F418-4133-8BF9-490A76E99108"> 
    <RegistryValue Root='HKCR' Key='.pyproj' Type='string' Name='PerceivedType' Value='text' /> 
    <RegistryValue Root='HKCR' Key='VisualStudio.Launcher.pyproj.10.0\DefaultIcon' Type='string' Value='[IpyToolsInstallDir]PythonProject.ico' /> 
    <ProgId Id="VisualStudio.Launcher.pyproj.10.0" Description="IronPython Project"> 
    <Extension Id="pyproj" ContentType="text/plain"> 
     <Verb Id="OpenPyProj" Command="Open" TargetProperty="VSLAUNCHER" Argument="&quot;%1&quot;"/> 
    </Extension> 
    </ProgId> 
</Component> 

チェックアウトフル例えばIronPythonのソースツリーの下のMSIディレクトリ:ここでは、プロジェクトの種類のレジストリの一部を設定のWiX XMLからの抜粋です。

関連する問題