端口VS2010 CodeGenerator扩展到VS2013

本文关键字:VS2013 扩展到 CodeGenerator VS2010 端口 | 更新日期: 2023-09-27 18:27:26

我正试图将Visual Studio 2010最初开发的单一文件代码生成器扩展移植到Visual Studio 2013。扩展(vsix格式)由2个项模板和实际生成器项目组成。生成器基于"IVsSingleFileGenerator"。在visualstudio2010中,一切都很好:当我添加一个属于我的两个项目模板中的一个类型的项目时,visualstudio会触发代码生成器,完成他的工作。现在,我编辑了生成器项目的vsixmanifest文件,添加了与visualstudio2013的兼容性,因此我至少能够将扩展安装到visualstudio2013中。这两个项目模板在vs2013中也可以很好地工作,但生成器不能。如果我通过右键单击文件然后"运行自定义工具"来强制触发,那么我会收到一个消息框,上面写着"在这个系统上找不到自定义工具‘myGenerator’"。这很奇怪,因为我的所有组件都设置为ComVisible(true)。我认为vs2013与vs2010在扩展方面的管理方式一定有所不同。你们中有人知道些什么吗?提前谢谢!

端口VS2010 CodeGenerator扩展到VS2013

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

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