【发布时间】:2021-02-06 16:35:41
【问题描述】:
我有一个 VSIX Visual Studio 2019 扩展,应该将项目模板添加到 Visual Studio。为此,我使用了 FlavouredProjectBase 和 FlavouredProjectFactory。类如下所示:
项目类:
class LugiaUIProject : FlavoredProjectBase
{
public LugiaUIProject(IServiceProvider site)
{
}
}
工厂类:
[Guid(LugiaUIProjectPackage.LugiaUIProjectFactoryString)]
internal class LugiaUIProjectFactory : FlavoredProjectFactory
{
private LugiaUIProjectPackage lugiaUIProjectPackage;
public LugiaUIProjectFactory(LugiaUIProjectPackage pkg)
{
lugiaUIProjectPackage = pkg;
}
protected override object PreCreateForOuter(object outerProject)
{
return new LugiaUIProject();
}
protected override void CreateProject(string fileName, string location, string name, uint flags, ref System.Guid projectGuid, out System.IntPtr project, out int canceled)
{
//??
}
}
项目的注册似乎工作正常,因为创建新项目时模板显示在模板列表中:
但我无法让项目的创建工作。当我选择模板时,它只会引发错误。如果CreateProject 覆盖中有断点,它会被命中,但不会生成项目。不幸的是,我没有找到任何关于“FlavoredProject”创建的资源/文档。谁能向我解释这里缺少什么/我做错了什么?
还是不推荐使用这种“FlavoredProject”方法?
【问题讨论】:
-
你能和我们一起provide a Minimal, reproducible example吗?我们无法在我们身边复制它。
-
@PerryQian-MSFT 你好佩里,谢谢你的评论。我将解决方案上传到 Git。在这里查看:github.com/colosso/VSIXTest
标签: c# visual-studio visual-studio-2019 visual-studio-extensions vsix