Jen*_*iya 7 templates projects-and-solutions project visual-studio
我正在使用VSTemplate为Visual Studio创建多项目模板.
我是项目模板的新手,并引用此URL为Visual Studio创建多项目模板.
<VSTemplate Version="2.0.0" Type="ProjectGroup"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>MVC with Repo and UoW</Name>
<Description>Basic by Jenish</Description>
<Icon>Icon.ico</Icon>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>false</CreateNewFolder>
<DefaultName>MVC</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$safeprojectname$.Common">
KLS.Common\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Data.Contract">
KLS.Data.Contract\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Data.Repositories">
KLS.Data.Repositories\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Manager">
KLS.Manager\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Models">
KLS.Models\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Web">
KLSFoods\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
<WizardExtension>
<Assembly>RestTemplateWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c9a76f51a8a9555f</Assembly>
<FullClassName>RestTemplateWizard.RootWizard</FullClassName>
</WizardExtension>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)
截图1:

按照上面的屏幕截图,Mytemplate.vstemplate是主根文件,除了包之外的所有文件夹都包含每个项目的单独vstemplate文件.
现在问题是我希望生成相同的结构,因为它出现在第一个屏幕截图上,但它在外部目录中生成解决方案.有没有什么办法可以强制模板按照屏幕截图创建解决方案1.
模板目前正在生成这样的解决方案.
截图2:

Mvc1将保存所有项目文件夹,我想要的是创建解决方案文件,其中定义了所有项目文件夹.因为目前它错误地引用了packages文件夹
提前致谢.
我遇到了同样的问题,我的解决方法是编辑解决方案文件 (*.sln) 并将文件移动到预期文件夹中。
这是模板生成的文件夹结构(不是我所期望的):
我的解决方案文件夹:
请注意 .sln 文件不在项目的同一文件夹中
文件夹 DDD_Backend10xxxx,包含所有项目:
步骤 1:将 .sln 文件移动到包含所有项目的子文件夹中(根据项目工作的需要):
*.sln 文件与其余项目移至同一文件夹
.sln 文件现在与项目文件夹一起位于正确的解决方案文件夹级别中。
步骤2:打开并编辑.sln文件并修改所有项目的路径:
项目("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BusinessLayer", " DDD_Backend10xxxx \BusinessLayer", "{F9E1B70C-F692-414B-97C6-BCEC22F6C1F3}" EndProject
项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“BusinessLayer”,“ DDD_Backend10xxxx \ BusinessLayer \ BusinessLayer.csproj”,“{0CF94CF4-97C6-4079-8F60-672CBE9B77D5}”EndProject
//其他项目参考...
项目(“{2150E333-8FDC-42A3-9474-1A3956D46DE8}”)=“BusinessLayer”,“BusinessLayer”,“{F9E1B70C-F692-414B-97C6-BCEC22F6C1F3}”
项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“BusinessLayer”,“BusinessLayer\BusinessLayer.csproj”,“{0CF94CF4-97C6-4079-8F60-672CBE9B77D5}”EndProject
//其他项目参考...
步骤3:修改primary/root项目root_project_name.csproj文件,为nuget扩展引用路径。 修改对包文件夹的任何引用,以便它们引用同一文件夹级别中的包文件夹。IE。
来自:导入项目=“ ....\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1”
至:导入项目=“ ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1”
这是nuget包更新或安装的重要参考。
步骤 4:运行 nuget 来更新/恢复包。 一旦 nuget 更新/恢复包,将在正确的文件夹级别创建“packages”文件夹。(在包管理器控制台窗口中运行命令update-package -reinstall 。)
| 归档时间: |
|
| 查看次数: |
2134 次 |
| 最近记录: |