protected override void AddProjects(ExtensionContext context)
		{
			String projectFile = context.GetTemplateFileName(@"CSharp\ARProject\ARProject.csproj");
			String testProjectFile = context.GetTemplateFileName(@"CSharp\ARProjectTest\ARProjectTest.csproj");

			String localTestProjectPath = Path.Combine(LocalProjectPath, @"..\" + ProjectName + ".Tests");
			localTestProjectPath = new DirectoryInfo(localTestProjectPath).FullName;

			Utils.EnsureDirExists(LocalProjectPath);
			Utils.EnsureDirExists(localTestProjectPath);

			Project project = 
				context.DteInstance.Solution.AddFromTemplate(projectFile, LocalProjectPath, ProjectName + ".csproj", Exclusive);

			project.Properties.Item("DefaultNamespace").Value = NameSpace;

			Project testProject = 
				context.DteInstance.Solution.AddFromTemplate(testProjectFile, localTestProjectPath, ProjectName + ".Tests.csproj", false);

			testProject.Properties.Item("DefaultNamespace").Value = NameSpace + ".Tests";

			context.Projects.Add(Constants.ProjectMain, project);
			context.Projects.Add(Constants.ProjectTest, testProject);

			base.AddProjects(context);
		}
Пример #2
0
		private void OnAddProjects(object sender, ExtensionContext context)
		{
			if (!panel.WantsTestProject) return;
			
			String testProjectFile = context.GetTemplateFileName(@"CSharp\MRProjectTest\MRProjectTest.csproj");
			testProjectName = context.ProjectName + ".Tests";
			string nameSpace = Utils.CreateValidIdentifierFromName(context.ProjectName);

			localTestProjectPath = new DirectoryInfo(Path.Combine(context.LocalProjectPath, 
				@"..\" + testProjectName)).FullName;

			Utils.EnsureDirExists(localTestProjectPath);

			Project testProject = context.DteInstance.Solution
				.AddFromTemplate(testProjectFile, 
					localTestProjectPath, 
					context.ProjectName + ".Tests.csproj", false);

			Utils.AddReference(testProject, context.Projects[Constants.ProjectMain]);

			Utils.PerformReplacesOn(testProject, nameSpace, localTestProjectPath, "Controllers\\ContactControllerTestCase.cs");
			Utils.PerformReplacesOn(testProject, nameSpace, localTestProjectPath, "Controllers\\HomeControllerTestCase.cs");
			Utils.PerformReplacesOn(testProject, nameSpace, localTestProjectPath, "Controllers\\LoginControllerTestCase.cs");

			context.Projects.Add(Constants.ProjectTest, testProject);
		}
Пример #3
0
		protected override void AddProjects(ExtensionContext context)
		{
			String projectFile = context.GetTemplateFileName(@"CSharp\MRProject\MRProject.csproj");

			Utils.EnsureDirExists(LocalProjectPath);

			Project project = 
				context.DteInstance.Solution.AddFromTemplate(projectFile, LocalProjectPath, ProjectName + ".csproj", Exclusive);

			project.Properties.Item("DefaultNamespace").Value = NameSpace;

			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\BaseController.cs");
			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\HomeController.cs");
			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\LoginController.cs");
			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\ContactController.cs");
			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Models\\ContactInfo.cs");
			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Models\\Country.cs");
			Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "global.asax");

			context.Projects.Add(Constants.ProjectMain, project);

			AddGlobalApplication(project);
			AddHomeViews(project);
			AddLoginViews(project);
			AddContactViews(project);
			AddLayout(project);
			AddRescue(project);
			
			CreateXmlDomForConfig(project, MRConfigConstants.Web);
			
			UpdateReferences(project);
			UpdateProjectToUseCassini(project);
			
			base.AddProjects(context);
		}
		private void RegisterAndConfigureFacility(XmlDocument dom, ExtensionContext context)
		{
			XmlElement facilitiesElem = (XmlElement) dom.SelectSingleNode("configuration/facilities");

			XmlElement logElem = dom.CreateElement("facility");
			
			logElem.SetAttribute("id", "loggingfacility");
			logElem.SetAttribute("type", "Castle.Facilities.Logging.LoggingFacility, Castle.Facilities.Logging");
			logElem.SetAttribute("loggingApi", panel.LogingApi);

			if (panel.LogingApi == "Log4net")
			{
				logElem.SetAttribute("configFile", "logging.config");

				Project project = context.Projects[Constants.ProjectMain];

				String projectFile = context.GetTemplateFileName(@"CSharp\MRProject\logging.config");
				project.ProjectItems.AddFromTemplate(projectFile, "logging.config");
			}

			facilitiesElem.AppendChild(logElem);
		}