У меня есть файл vsixmanifest с атрибутом сборки. Файл выглядит так:
<Content>
<ProjectTemplate>Solution</ProjectTemplate>
<Assembly AssemblyName="SolutionNameWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1c39bfcc-223f-4c12-a5dc-55eeca7c61f7">
Assemblies\SolutionNameWizard.dll
</Assembly>
I know that the assembly name and public key are correct.
Теперь я пытаюсь использовать эту сборку в одном из своих шаблонов. Прямо сейчас у меня есть:
<WizardExtension>
<Assembly>SolutionNameWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1c39bfcc-223f-4c12-a5dc-55eeca7c61f7</Assembly>
<FullClassName>SolutionNameWizard.IWizardImplementation</FullClassName>
</WizardExtension>
Есть ли что-то, чего мне не хватает? Когда я запускаю vsix, я получаю следующую ошибку:
A problem was encountered creating the sub project 'test.Web' Error: this template
attemtped to load component assembly 'SolutionNameWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1c39bfcc-223f-4c12-a5dc-55eeca7c61f7'.
Я знаю, что для шаблонов требуется, чтобы сборка находилась в GAC, так ли это, когда я использую vsix? Я надеялся избежать GAC и по-прежнему использовать своего мастера.
EDIT: я изменил открытый ключ на правильную строку, как было предложено в ответах, но проблема все еще не устранена.
Редактировать 2: в дополнение к полезному ответу ниже, вот блог, который я написал после завершения этого процесса. Он содержит ссылки на ряд статей, которые мне показались очень полезными: https://thebhwgroup.com/blog/2013/10/visual-studio-templates