1

2つのVSXプロジェクトを使用したデモソリューションの場合:1。新しいプロジェクトの追加->拡張性->アイテムテンプレート-"ItemTemplate1"2.新しいプロジェクトの追加->拡張性->VSIXプロジェクト-"VSIXProject1"

「ItemTemplate1」に変更を加えなかったため、デフォルトのアイテムテンプレート(ItemTemplate1.vstemplate)が含まれています。

<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
  <Name>ItemTemplate1</Name>
  <Description>&lt;No description available&gt;</Description>
  <Icon>ItemTemplate1.ico</Icon>
  <TemplateID>e298765c-97b8-4f4c-9b7b-a6b368f914df</TemplateID>
  <ProjectType>CSharp</ProjectType>
  <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
  <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
  <DefaultName>Class.cs</DefaultName>
</TemplateData>
<TemplateContent>
    <References>
        <Reference>
            <Assembly>System</Assembly>
        </Reference>
    </References>
  <ProjectItem ReplaceParameters="true">Class.cs</ProjectItem>
</TemplateContent>
</VSTemplate>

VSIXProject1では、source.extension.vsixmanifestを編集して、ItemTemplates1プロジェクトへの参照を追加しただけです。この後、vsixmanifestにはコンテンツの説明が1つだけ含まれます。

<Content>
    <ItemTemplate>ItemTemplates</ItemTemplate>
</Content>

それからそれを作りました。bin / debugで、VSIXProject1.vsixを取得しました。この中には、ItemTemplates \ CSharp \ 1033\ItemTemplate1.zipファイルにあるアイテムテンプレートを確認できます。

すべてが素晴らしく見えます!

それが機能しないという事実を除いて。VSIXProject1.vsixを実行し、vsixをインストールしました(拡張機能マネージャーで確認できます)、「C:\ Users \ {UserName} \ Documents \ Visual Studio 2010 \ Templates\ItemTemplates」にテンプレートがコピーされていません。

4

2 に答える 2

5

VSIXを介してインストールされたテンプレートは、ユーザーのDocumentsフォルダーのTemplatesフォルダーにはインストールされません。それらは、%LocalAppData%\ Microsoft \ VisualStudio \ 10.0 \ Extensions \ <YourExtensionFolder>の下に、その拡張機能の他のすべてのコンテンツとともにインストールされます。(VSIXのインストールは、基本的にVSIXをフォルダーに解凍するだけです。)

C#プロジェクトに新しいアイテムを追加しようとしても、テンプレートを表示できるはずです。

于 2010-09-01T22:26:59.080 に答える
1

以下のウェブサイトをチェックしてください。私の問題を解決するのに役立ちます。 http://silverlightdude.wordpress.com/2010/06/07/installing-the-prism-template-pack-for-visual-studio-2010/#comment-4

于 2011-04-22T02:02:08.017 に答える