我在VSIX项目(.pkgdef)中有一个SingleFileGenerator。
当我调试VSIX项目(启动VS devenv.exe)并具有文件“自定义工具”属性指向我的SingleFileGenerator类时,文件已正确创建。但是,我的生成器类中的断点都没有命中。
关于如何从VSIX项目中获得这些命中而无需创建单独的FileGenerator项目进行调试的任何想法吗?
例如,我在VSIX项目中有一个类文件:
[ComVisible(true)]
[Guid("my-generator-guid")]
[ProvideObject(typeof(XmlEnumGenerator), RegisterUsing = RegistrationMethod.CodeBase)]
[CodeGeneratorRegistration(typeof(XmlEnumGenerator), "XmlEnumGenerator", vsContextGuids.vsContextGuidVCSProject, GeneratesDesignTimeSource = true)]
class XmlEnumGenerator : IVsSingleFileGenerator
{
// generator code that correctly creates the output file however no breakpoint in here is hit
}
SFG已在我的ToolWindowPackage中注册
[CodeGeneratorRegistration(typeof(XmlEnumGenerator), "Generates Enums from the input XML", "{FAE04EC1-301F-11D3-BF4B-00C04F79EFBC}", GeneratesDesignTimeSource = true)]
[ProvideObject(typeof(XmlEnumGenerator))]
肯定有比创建单独的SFG项目进行调试的简单方法,当然我们可以在VSIX项目中找到这些断点...(我希望如此)
编辑:从VSIX类文件或支持方法中正确命中了所有断点。仅SFG文件BP未命中(但文件创建正确)。