asp.net – 多项目模板文件夹结构不正确
发布时间:2020-12-16 09:39:18 所属栏目:asp.Net 来源:网络整理
导读:所以我正在尝试构建一个多项目模板,当我设置它时,文件夹结构不正确(不是微软在创建项目时如何做到这一点),而且它正在搞乱像Packages文件夹和References文件夹. 这是当前的结构: Solution Folder-Solution File-Folder (Solution Name) --Packages --Referen
所以我正在尝试构建一个多项目模板,当我设置它时,文件夹结构不正确(不是微软在创建项目时如何做到这一点),而且它正在搞乱像Packages文件夹和References文件夹.
这是当前的结构: Solution Folder -Solution File -Folder (Solution Name) --Packages --References --Project1 Folder --Project2 Folder 我希望它具有.NET自动执行的相同结构: Solution Folder -Solution File -References Folder -Packages Folder -Project1 Folder -Project2 Folder 这是我的vstemplate: <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup"> <TemplateData> <Name>ASP Solution Template</Name> <Description>This is the Solution Template for ASP Applications</Description> <Icon>__TemplateIcon.ico</Icon> <ProjectType>CSharp</ProjectType> </TemplateData> <TemplateContent BuildOnLoad="true"> <ProjectCollection> <SolutionFolder Name="References"> </SolutionFolder> <SolutionFolder Name="packages"> </SolutionFolder> <ProjectTemplateLink ProjectName="$safeprojectname$"> ASPTemplateMyTemplate.vstemplate </ProjectTemplateLink> <ProjectTemplateLink ProjectName="$safeprojectname$.ClassLibrary"> ClassLibraryMyTemplate.vstemplate </ProjectTemplateLink> </ProjectCollection> </TemplateContent> </VSTemplate> 解决方法
我不认为可以使用vstemplates在父解决方案文件夹中添加解决方案文件夹.
但是,您可以尝试向模板添加向导,以便在用户从模板创建项目时运行自定义代码. 按照说明here和here,但基本上你做这样的事情: >在ClassLibrary项目中实现IWizard interface并使用EnvDTE80创建文件夹: public class MyWizard : IWizard { public void RunStarted(object automationObject,Dictionary<string,string> replacementsDictionary,WizardRunKind runKind,object[] customParams) { // Pseudo-code var dte = (DTE2)automationObject; var solution = (Solution2)dte.Solution; solution.AddSolutionFolder("References"); } // Default implementations of IWizard here (return true's and do nothing's) } >修改你的vstemplate以使用向导: <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup"> <TemplateData /> <TemplateContent BuildOnLoad="true" /> <!-- Remove the SolutionFolder elements --> <WizardExtension> <Assembly>CustomWizard,Version=1.0.0.0,Culture=Neutral,PublicKeyToken=fa3902f409bb6a3b</Assembly> <FullClassName>CustomWizard.MyWizard</FullClassName> </WizardExtension> </VSTemplate> 然后,当您使用新模板创建项目时,代码应该正在运行. 希望这能以某种方式帮助你. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 尝试将AutoMapper用于具有子集合的模型,在Asp.Net MVC 3中获
- .net – 在控制器中创建子文件夹
- asp.net-mvc-2 – ASP.NET MVC2 ModelMetadataProviders:重
- asp.net – gridview在viewstate中保存数据吗?
- asp.net CustomValidator从不触发OnServerValidate
- 深入理解ASP.NET MVC(目录)、打造自己的MVC框架
- ASP.NET – 在GridViewRowEventArgs Row.Cells.Item中使用列
- 当我的模型在我的ASP.NET MVC应用程序中为null时,EditorFor
- MVC 5应用程序 – 实现OAuth授权代码流程
- asp.net-mvc – 用户经常注销(默认会员提供商)
推荐文章
站长推荐
热点阅读