private void AddPluginCompileTimeConstants(ProjectInfo project, SolutionEditorInfo info)
        {
            if (info.XrmVersion >= new Version(7, 0, 0, 0))
            {
                return;
            }

            project.CompileConstants = "PRE_KEYATTRIBUTE";
        }
예제 #2
0
        protected void AddPlugin(Dictionary <string, ProjectInfo> projects, SolutionEditorInfo info)
        {
            var project = CreateDefaultProjectInfo(
                ProjectInfo.Keys.Plugin,
                info.PluginName,
                info.GetPluginAssemblyVersionForSdk(),
                info.SharedCommonProject);

            project.AddRegenKeyPostUpdateCommand(StrongNamePath);
            project.SharedProjectsReferences.Add(projects[ProjectInfo.Keys.Common]);
            RemovePluginExampleFiles(info.IncludeExamplePlugins, project);
            projects.Add(project.Key, project);
        }
예제 #3
0
        protected void AddPluginTest(Dictionary <string, ProjectInfo> projects, SolutionEditorInfo info)
        {
            var project = CreateDefaultProjectInfo(
                ProjectInfo.Keys.PluginTests,
                info.PluginTestName,
                info.GetPluginAssemblyVersionForSdk(),
                info.SharedTestCoreProject);

            RemoveExamplePluginTests(info, project);
            project.ProjectsReferences.Add(projects[ProjectInfo.Keys.Plugin]);
            project.ProjectsReferences.Add(projects[ProjectInfo.Keys.Test]);
            project.SharedProjectsReferences.Add(projects[ProjectInfo.Keys.TestCore]);
            projects.Add(project.Key, project);
        }
예제 #4
0
 private static void RemoveExamplePluginTests(SolutionEditorInfo info, ProjectInfo project)
 {
     if (info.IncludeExamplePlugins)
     {
         return;
     }
     project.FilesToRemove.AddRange(
         new[]
     {
         "AssumptionExampleTests.cs",
         "TestMethodClassExampleTests.cs",
         "EntityBuilderExampleTests.cs",
         "RemovePhoneNumberFormattingTests.cs",
         "MsFakesVsXrmUnitTestExampleTests.cs",
         "LocalOrServerPluginTest.cs",
     });
 }
예제 #5
0
        protected void AddWorkflow(Dictionary <string, ProjectInfo> projects, SolutionEditorInfo info)
        {
            var project = CreateDefaultProjectInfo(
                ProjectInfo.Keys.Workflow,
                info.WorkflowName,
                info.GetPluginAssemblyVersionForSdk(),
                info.SharedCommonProject);

            project.AddRegenKeyPostUpdateCommand(StrongNamePath);
            project.SharedProjectsReferences.Add(projects[ProjectInfo.Keys.Common]);
            project.Files.First().Replacements.Add(
                @"<Import Project=""..\Xyz.Xrm.WorkflowCore\Xyz.Xrm.WorkflowCore.projitems"" Label=""Shared"" />",
                $@"<Import Project=""..\{info.SharedCommonWorkflowProject}\{info.SharedCommonWorkflowProject}.projitems"" Label=""Shared"" />");
            if (!info.IncludeExampleWorkflow)
            {
                project.FilesToRemove.Add("CreateGuidActivity.cs");
            }
            projects.Add(project.Key, project);
        }
예제 #6
0
        protected void AddWorkflowTest(Dictionary <string, ProjectInfo> projects, SolutionEditorInfo info)
        {
            var project = CreateDefaultProjectInfo(
                ProjectInfo.Keys.WorkflowTests,
                info.WorkflowTestName,
                info.GetPluginAssemblyVersionForSdk(),
                info.SharedTestCoreProject);

            if (!info.IncludeExampleWorkflow)
            {
                project.FilesToRemove.AddRange(
                    new[] {
                    "WorkflowActivityExampleTests.cs"
                });
            }
            project.ProjectsReferences.Add(projects[ProjectInfo.Keys.Workflow]);
            project.ProjectsReferences.Add(projects[ProjectInfo.Keys.Test]);
            project.SharedProjectsReferences.Add(projects[ProjectInfo.Keys.TestCore]);
            projects.Add(project.Key, project);
        }