[英]VSIX extension install but item-template not shown in visual studio
[英]VSIX Visual studio extension project template Creation
我有一個 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
覆蓋中有斷點,則會命中,但不會生成項目。 不幸的是,我沒有找到任何關於“FlavouredProject”創建的資源/文檔。 誰能向我解釋缺少什么/我在這里做錯了什么? 或者這個“FlavouredProject”方法被棄用了?
您遇到此錯誤的原因是您的項目模板缺少一些內容。 即項目文件(.csproj 或類似文件)以及 .vstemplate。
這里要考慮一件事; 是您希望您可能希望使用安裝自定義項目風格的相同 .VSIX 部署您的項目模板。 所以你應該考慮創建一個實際的項目模板項目。 然后使用 Project to Project 引用從 VSIX 項目中引用該項目,並將其作為資產包含在 .vsixmanifest 中。
使用項目模板向導創建初始項目模板,將確保您獲得項目文件以及 .vsixmanifest。 雖然您需要修改 .csproj 以使用您的項目風格。 也就是說,您需要確保將項目風格的 guid 添加到 .csproj 文件中的標記中。 否則,該項目仍將是基於 C# 的庫存項目。 :-)
幾年前我發布了一個 有點過時的自定義項目類型示例,它實現了自定義項目類型(不是項目風格),但它還包含一個項目和項目模板,類似於您正在嘗試執行的操作。 雖然它是為 VS 的早期版本編寫的,但可能仍然可以作為一個可行的示例 /wrt 實現項目模板以配合您的自定義項目風格。
同樣值得一讀:
真摯地,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.