在Visual Studio 2010中创建多项目(解决方案)模板之关键步骤【四】
生活随笔
收集整理的這篇文章主要介紹了
在Visual Studio 2010中创建多项目(解决方案)模板之关键步骤【四】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一步. 在文件夾 ERPTemplate 下面分別創建各個項目模板所對應的文件夾
第二步. 將Properties 文件夾下的AssemblyInfo.cs 和所有 *.cs 文件右擊屬性編譯方式(Build Action)改為 None,否則將出現編譯錯誤第三步. 修改項目模板所對應的文件夾下的 xxx.csproj 文件
重命名 ERP.BizService.Implements.csproj 為 BizService.Implements.csproj
修改RootNamespace和AssemblyName,將其改為$safeprojectname$.BizService.Implements
修改后如下:<RootNamespace>$safeprojectname$.BizService.Implements</RootNamespace><AssemblyName>$safeprojectname$.BizService.Implements</AssemblyName>
修改項目引用:
<ProjectReference Include="..\$safeprojectname$.ClassLibrary1\$safeprojectname$.ClassLibrary1.csproj">
????? <Project>{D091A58B-B640-4716-BAC3-4301E6C7E6D9}</Project>
????? <Name>$safeprojectname$.ClassLibrary1</Name>
??? </ProjectReference>
注意:這里的$safeprojectname$是項目模板的一個內置的 宏,表示一個“安全”的項目名稱(也就是由Visual Studio處理過的,用戶在New Project對話框中輸入的那個項目名稱)。此外,對于單一項目模板而言,直接使用這個$safeprojectname$是沒有問題的,但如果是多項 目解決方案的模板,那么要在各個項目中使用這個宏,就需要一些額外操作,這部分內容會在后面介紹。有關項目模板所使用的宏,請參見:模板參數(MSDN)第四步. 修改項目模板所對應的文件夾下的 MyTemplate.vstemplate 文件 將第一個Project節點的File屬性改為 BizService.Implements.csproj; TargetFileName屬性改 為$safeprojectname$.BizService.Implements.csproj;第五步. 修改解決方案目錄下的 ERPProjectTemplate.vstemplate文件 在ProjectCollection節點中添加如下代碼: <ProjectTemplateLink ProjectName="$safeprojectname$.BizService.Implements">ERPTemplate\BizService.Implements\MyTemplate.vstemplate </ProjectTemplateLink>第六步. 將ERPTemplate\BizService.Implements目錄下BizService.Implements.csproj以及所有C#文件中的ERP改為$safeprojectname$宏第七步. 用以上相同的步驟,將其他項目導出成模板并添加到 ERPProjectTemplate 解決方案
在手動添加對任何 EnvDTE 命名空間(EnvDTE、EnvDTE80、EnvDTE90、EnvDTE90a 或 EnvDTE100)的引用時,請在“屬性”窗口中將引用的“嵌入互操作類型”屬性設置為“False”。
將此屬性設置為“True”可能會導致生成問題,因為某些 EnvDTE 屬性是不能嵌入的。
修改項目引用:
<ProjectReference Include="..\$safeprojectname$.ClassLibrary1\$safeprojectname$.ClassLibrary1.csproj">
????? <Project>{D091A58B-B640-4716-BAC3-4301E6C7E6D9}</Project>
????? <Name>$safeprojectname$.ClassLibrary1</Name>
??? </ProjectReference>
注意:這里的$safeprojectname$是項目模板的一個內置的 宏,表示一個“安全”的項目名稱(也就是由Visual Studio處理過的,用戶在New Project對話框中輸入的那個項目名稱)。此外,對于單一項目模板而言,直接使用這個$safeprojectname$是沒有問題的,但如果是多項 目解決方案的模板,那么要在各個項目中使用這個宏,就需要一些額外操作,這部分內容會在后面介紹。有關項目模板所使用的宏,請參見:模板參數(MSDN)第四步. 修改項目模板所對應的文件夾下的 MyTemplate.vstemplate 文件 將第一個Project節點的File屬性改為 BizService.Implements.csproj; TargetFileName屬性改 為$safeprojectname$.BizService.Implements.csproj;第五步. 修改解決方案目錄下的 ERPProjectTemplate.vstemplate文件 在ProjectCollection節點中添加如下代碼: <ProjectTemplateLink ProjectName="$safeprojectname$.BizService.Implements">ERPTemplate\BizService.Implements\MyTemplate.vstemplate </ProjectTemplateLink>第六步. 將ERPTemplate\BizService.Implements目錄下BizService.Implements.csproj以及所有C#文件中的ERP改為$safeprojectname$宏第七步. 用以上相同的步驟,將其他項目導出成模板并添加到 ERPProjectTemplate 解決方案
?以下是自定義的多項目解決方案模板配置文件 ERPTemplate.vstemplate
<?xml version="1.0" encoding="utf-8"?> <VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"><TemplateData><Name>ERPProjectTemplate</Name><Description>A project for creating an application of ERP.</Description><Icon>ERPProjectTemplate.ico</Icon><ProjectType>CSharp</ProjectType><RequiredFrameworkVersion>2.0</RequiredFrameworkVersion><SortOrder>1000</SortOrder><TemplateID>b420f0f7-ef24-4de9-81a4-8f7ddd486648</TemplateID><CreateNewFolder>true</CreateNewFolder><DefaultName>ERPProjectTemplate</DefaultName><ProvideDefaultName>true</ProvideDefaultName></TemplateData><TemplateContent><ProjectCollection><ProjectTemplateLink ProjectName="$safeprojectname$.BizService.Implements">ERPTemplate\BizService.Implements\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.BizService.Interfaces">ERPTemplate\BizService.Interfaces\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Core">ERPTemplate\Core\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Dao.Implements">ERPTemplate\Dao.Implements\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Dao.Interfaces">ERPTemplate\Dao.Interfaces\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Database">ERPTemplate\Database\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Domain">ERPTemplate\Domain\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Utilities">ERPTemplate\Utilities\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Web.Core">ERPTemplate\Web.Core\MyTemplate.vstemplate</ProjectTemplateLink><ProjectTemplateLink ProjectName="$safeprojectname$.Web.MVC2">ERPTemplate\Web.MVC2\MyTemplate.vstemplate</ProjectTemplateLink></ProjectCollection></TemplateContent> </VSTemplate>在手動添加對任何 EnvDTE 命名空間(EnvDTE、EnvDTE80、EnvDTE90、EnvDTE90a 或 EnvDTE100)的引用時,請在“屬性”窗口中將引用的“嵌入互操作類型”屬性設置為“False”。
將此屬性設置為“True”可能會導致生成問題,因為某些 EnvDTE 屬性是不能嵌入的。
?有關更多VSTemplate 元素(Visual Studio 模板)配置請參閱:http://msdn.microsoft.com/zh-cn/library/31cdwx28%28v=vs.100%29.aspx
如何:創建多項目模板 http://msdn.microsoft.com/zh-cn/library/ms185308%28v=vs.100%29.aspx
轉載于:https://www.cnblogs.com/xust/articles/3310967.html
總結
以上是生活随笔為你收集整理的在Visual Studio 2010中创建多项目(解决方案)模板之关键步骤【四】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本机连接虚拟机Oracle时报错的解决办
- 下一篇: FreeMarker教程