Ach*_*him 11 templates wizard visual-studio-2010 visual-studio
我想创建一个包含向导(IWizard界面)的自定义项模板.
在http://msdn.microsoft.com/en-us/library/vstudio/ms171411%28v=vs.100%29.aspx和其他一些地方,总是描述包含向导的程序集必须安装在GAC中.我想在我的组织中分发我的模板,并不是每个人都有权在GAC中安装任何内容.
所以我想知道,有没有办法在模板zip或vsix文件中包含包含向导代码的程序集?
在我看来,这应该是一个常见的问题?
任何帮助如何在没有任何GAC安装的情况下分发自定义向导和项目模板?
Ach*_*him 18
经过大量的研究,我找到了一种方法.使用此方法,可以将包含IWizard实现的程序集包含在VSIX文件中,即使不对其进行签名,也可以在运行时使用它.无需摆弄GAC.
您的解决方案中需要3个项目
在MyWizardImpl中,您需要在arbitray类中实现IWizard接口.(我们称之为MyWizardImpl.ItemTemplateWizard1).编译时,你得到输出
<solutiondir>\MyWizardImpl\bin\Debug\MyWizardImpl.dll
Run Code Online (Sandbox Code Playgroud)
现在,在MyTemplate\MyTemplate.vstemplate中,您需要引用它
<WizardExtension>
<Assembly>MyWizardImpl</Assembly>
<FullClassName>MyWizardImpl.ItemTemplateWizard1</FullClassName>
</WizardExtension>
Run Code Online (Sandbox Code Playgroud)
棘手的部分是最后一个:在应用ItemTemplate时可以加载的方式将程序集包含在vsix中.
例:
<Content>
<Assembly AssemblyName="MyWizardImpl">Assemblies\MyWizardImpl.dll</Assembly>
</Content>
Run Code Online (Sandbox Code Playgroud)
构建并测试解决方案,使用模板时,向导代码应立即运行.
如果您的vsix中需要多个模板,则只需添加其他ItemTemplate项目.所有向导都可以进入相同的MyWizardImpl程序集.
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |