端口VS2010 CodeGenerator扩展到VS2013

时间:2014-10-22 21:09:27

标签: c# visual-studio-2010 visual-studio visual-studio-2013 vsix

我正在尝试将Visual Studio 2010最初开发的单文件代码生成器扩展移植到Visual Studio 2013.扩展(vsix格式)包含2个项目模板和实际的生成器项目。该生成器基于“IVsSingleFileGenerator”。在visual studio 2010中,一切都运行得很好:当我添加一个我的2项模板之一的项目时,visual studio会触发代码生成器,它完成了他的工作。现在,我编辑了生成器项目的vsixmanifest文件,添加了与visual studio 2013的兼容性,因此我至少能够将扩展安装到visual studio 2013.这两个项目模板在vs2013中也可以正常工作,但是生成器没有。如果我通过右键单击该文件强制触发,然后“运行自定义工具”,然后我收到一个消息框,说“在此系统上找不到自定义工具'myGenerator'”。这很奇怪,因为我的所有组件都设置为ComVisible(true)。我认为vs2013如何管理他对vs2010的扩展一定有一些区别。你们中的任何人都知道些什么吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用[ProvideBindingPath]属性,以便Visual Studio可以在程序集中找到生成器。在此提交中可以看到使用此属性的步骤示例:

https://github.com/tunnelvisionlabs/VsixWizardSample/commit/ed7f142ad1c2b631c996cda67f43d348814c0a66