Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 海关;“一个ASP.NET”;Visual Studio 2013中的项目模板 目标:_C#_Asp.net_Visual Studio_Visual Studio 2013_Visual Studio Templates - Fatal编程技术网

C# 海关;“一个ASP.NET”;Visual Studio 2013中的项目模板 目标:

C# 海关;“一个ASP.NET”;Visual Studio 2013中的项目模板 目标:,c#,asp.net,visual-studio,visual-studio-2013,visual-studio-templates,C#,Asp.net,Visual Studio,Visual Studio 2013,Visual Studio Templates,在Visual Studio 2013的“一个ASP.NET”集合中集成项目模板 背景: “待分发”项目最初是一个新的ASP.NET Web应用程序项目,使用空的模板和选中的MVC和Web API“文件夹和引用”。从那里我添加了我的爱和感情,并使用了导出模板。zip文件位于My Documents>Visual Studio 2013>My Exported Templates中。如果让Visual Studio为您安装模板,则会在My Documents>Visual Studio 201

在Visual Studio 2013的“一个ASP.NET”集合中集成项目模板


背景: “待分发”项目最初是一个新的ASP.NET Web应用程序项目,使用空的模板和选中的MVC和Web API“文件夹和引用”。从那里我添加了我的爱和感情,并使用了导出模板。zip文件位于
My Documents>Visual Studio 2013>My Exported Templates
中。如果让Visual Studio为您安装模板,则会在
My Documents>Visual Studio 2013>Templates>ProjectTemplates
中放置一个重复的zip。问题就从这里开始


问题: 在Visual Studio中,模板位于Visual C#树分支中,而不是ASP.NET Web应用程序中的自定义模板。真倒霉更奇怪的是,模板只安装到C 35;而不安装到其Web子文件夹

MSDN documentation online提到了
.vstemplate
文件中的
,在我调查时,该文件是空的,但即使显式添加Web也不会更改UI位置。这实际上与我的目标无关,但它似乎表明VS2013不尊重
.vstemplate
中的一些XML

更多信息: 我开始挖掘
程序文件(x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\
,我注意到一个奇怪的事情是两个独立的“文件夹树”:
{root}\Web\CSharp\1033
{root}\CSharp\Web\1033

第一个树包含WebTemplate45及其项目
WebApplication45Dev12.vstemplate
,说明了上面提到的
ProjectType
ProjectSubtype
值。模仿这一点并没有改变任何事情

第二棵树还保存了一个WebTemplate45,其中包含
WebTemplate.vstemplate
。这一个明显不同,因为它的
Type=ProjectGroup
引用了
TemplateGroupID
和好奇的
WizardExtension
标记引用了
OneASPNetProjectTemplateWizard
。我猜这是一个爸爸模板,它在显示的图像中显示这些内容


问题: 在“一个ASP.Net”弹出窗口中交付项目包需要什么?注册表更改?VSIX

如果不可能,是否仍要克隆所有自定义项目的“爸爸”窗口?例如,假设显示的窗口中只列出了公司的子模板


参考资料:


你看过约翰·帕帕的热毛巾MVC样品吗

在WinRAR中打开VSIX文件时,
HotTowelSpa.2013.VSIX\ProjectTemplates\HotTowelSpaProjectTemplate.cshtml\HotTowelSpaProjectTemplate.cshtml.vstemplate
中的关键位似乎是:

<ProjectType>CSharp</ProjectType>
<ProjectSubType>Web</ProjectSubType>
<TemplateGroupID>Web</TemplateGroupID>
CSharp
网状物
网状物
编辑

事实上,看起来确实需要指定项目类型为MVC:

从页面:

每个元素的Type属性必须设置为 Microsoft.VisualStudio.Mvc.Template。这是一个自定义命名空间 只有MVC项目向导才能理解

仅将文件添加到VSIX不足以注册 使用MVC向导创建模板。您需要提供以下信息: 模板名称、说明、支持的视图引擎和编程 MVC向导的语言。这些信息是海关携带的 与每个vstemplate的元素关联的属性 文件


查看
extensions.vsixmanifest
,我确实看到了适用于MVC4和ASP.Net样式模板之前的所有模板的
。注册表和文件系统中的所有内容都不同。使用随2013一起安装的
.vstemplate
s,您将看到我的体验。一切都变了