c# - 如何创建 mvc 项目模板并在 VSIX 项目中使用它。项目中不存在目标“TemplateProjectOutputGroup”
问题描述
我按照以下步骤,
- 在 Visual Studio 中使用预定义模板创建了一个基本的 MVC 应用程序(比如 MVCTemplate)
- 使用 Visual Studio 中的导出模板向导为上述项目创建了 MVCTemplate.vsTemplate
- 将新创建的 MVCTemplate.vsTemplate 和 MVCTemplate.csproj 的副本(重命名为RequiredMVCTemplate.csproj)添加到上述项目中
- 在同一解决方案中创建了一个新的 VSIX 项目 (MVCWizard)
- 在 MVCWizard 项目中通过添加新资产 MVCTemplate 更新了 source.extension.vsixmanifest 文件(源 = 项目,类型 = Microsoft.visualstudio.Projecttemplate”和路径)
代码如下
<Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="MVCTemplate" d:TargetPath="|MVCTemplate;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
我收到以下错误
项目中不存在目标“TemplateProjectOutputGroup”。请建议最好的方法来创建一个 mvc 项目模板并在基于向导的 vsix 项目中使用它并生成另一个这样的 mvc 应用程序。
解决方案
四个步骤,
- 在项目中添加所需的文件或文件夹。
- 相应地更新要创建的目标项目的 csproj。在这种情况下,它的 RequiredMVCTemplate.csproj
- 相应地更新 vsTemplate 文件,将使用该文件生成项目。在这种情况下,它的 MVCTemplate.vsTemplate
- 重建解决方案。这将确保它创建一个具有目标项目模板的 zip 文件。
推荐阅读
- php - 是否可以在 mongo(php 除外)$db->collelction_name->insert(array("field"=>value)) 中使用这种语法?
- reactjs - 使用 ckeditor 和 Typescript
- android - Android“工作”配置文件上的“可用存储空间不足”错误
- three.js - Cannon.js + Three.js - 身体在接触问题上重叠
- json - 如果不是我的代码运行的原因,ObjectId 是 JSON 中的有效数据类型吗
- java - 如何在 JAVA 中为所有相似类型的 bean 编写通用代码
- django - 我发送任何带有网站的电子邮件,该网站也显示在我的电子邮件的发件箱中
- owncloud - owncloud错误“找不到应用程序目录!”
- c# - 如何让 Visual Studio 2019 引用磁盘上的本地 dll
- python - 如何处理 PCAP 文件以在 Python 中计算数据包统计信息。我不确定为此目的在此代码中添加什么