コード例 #1
0
        private void MigrateProjectJsonProjectDependency(
            Project project,
            NuGetFramework framework,
            HashSet <string> migratedXProjDependencyNames,
            SlnFile solutionFile,
            ProjectRootElement outputMSBuildProject)
        {
            var projectDependencies = _projectDependencyFinder.ResolveAllProjectDependenciesForFramework(
                new ProjectDependency(project.Name, project.ProjectFilePath, false),
                framework,
                migratedXProjDependencyNames,
                solutionFile);

            var projectDependencyTransformResults =
                projectDependencies.Select(p =>
                                           p.Hoisted ?
                                           HoistedDependencyTransform.Transform(p) :
                                           ProjectDependencyTransform.Transform(p));

            if (projectDependencyTransformResults.Any())
            {
                AddProjectDependenciesToNewItemGroup(
                    outputMSBuildProject.AddItemGroup(),
                    projectDependencyTransformResults,
                    framework);
            }

            HoistFrameworkAssembliesForProjectDependencies(projectDependencies, outputMSBuildProject);
        }
コード例 #2
0
        public void Apply(MigrationSettings migrationSettings, MigrationRuleInputs migrationRuleInputs)
        {
            _projectDirectory = migrationSettings.ProjectDirectory;

            var csproj         = migrationRuleInputs.OutputMSBuildProject;
            var projectContext = migrationRuleInputs.DefaultProjectContext;
            var projectExports = projectContext.CreateExporter("_").GetDependencies(LibraryType.Project);

            var projectDependencyTransformResults =
                projectExports.Select(projectExport => ProjectDependencyTransform.Transform(projectExport));

            if (projectDependencyTransformResults.Any())
            {
                AddPropertyTransformsToCommonPropertyGroup(migrationRuleInputs.CommonPropertyGroup);
                AddProjectDependenciesToNewItemGroup(csproj.AddItemGroup(), projectDependencyTransformResults);
            }
        }
コード例 #3
0
        private void MigrateProjectJsonProjectDependency(
            Project project,
            NuGetFramework framework,
            HashSet <string> migratedXProjDependencyNames,
            ProjectRootElement outputMSBuildProject)
        {
            var projectDependencies = _projectDependencyFinder.ResolveAllProjectDependenciesForFramework(
                new ProjectDependency(project.Name, project.ProjectFilePath),
                framework,
                migratedXProjDependencyNames);

            var projectDependencyTransformResults =
                projectDependencies.Select(p => ProjectDependencyTransform.Transform(p));

            if (projectDependencyTransformResults.Any())
            {
                AddProjectDependenciesToNewItemGroup(
                    outputMSBuildProject.AddItemGroup(),
                    projectDependencyTransformResults,
                    framework);
            }
        }
コード例 #4
0
        public void MigrateProjectJsonProjectDependencies(
            IEnumerable <ProjectContext> projectContexts,
            HashSet <string> migratedXProjDependencyNames,
            ProjectRootElement outputMSBuildProject)
        {
            foreach (var projectContext in projectContexts)
            {
                var projectDependencies = _projectDependencyFinder.ResolveProjectDependencies(projectContext, migratedXProjDependencyNames);

                var projectDependencyTransformResults = projectDependencies.Select(p => ProjectDependencyTransform.Transform(p));

                if (projectDependencyTransformResults.Any())
                {
                    AddProjectDependenciesToNewItemGroup(
                        outputMSBuildProject.AddItemGroup(),
                        projectDependencyTransformResults,
                        projectContext.TargetFramework);
                }
            }
        }