Example #1
0
        public Response <List <PortingResult>, List <PortingResult> > ApplyPortingChanges(ProjectFilePortingRequest request)
        {
            try
            {
                var portingRequst = new PortingRequest
                {
                    ProjectPaths       = request.ProjectPaths,
                    SolutionPath       = request.SolutionPath,
                    RecommendedActions = request.RecommendedActions.Select(r => (RecommendedAction)r).ToList(),
                    TargetFramework    = request.TargetFramework
                };

                var results = _client.ApplyPortingChanges(portingRequst);
                return(new Response <List <PortingResult>, List <PortingResult> >
                {
                    Value = results.Where(r => r.Success == true).ToList(),
                    Status = Response <List <PortingResult>, List <PortingResult> > .Success(),
                    ErrorValue = results.Where(r => r.Success == false).ToList()
                });
            }
            catch (Exception ex)
            {
                return(new Response <List <PortingResult>, List <PortingResult> >
                {
                    Status = Response <List <PortingResult>, List <PortingResult> > .Failed(ex),
                });
            }
        }
Example #2
0
        public void VbCheckPortingResult()
        {
            var projectPath           = Path.Combine(_vbTmpTestProjectsExtractionPath, "VBWebApi", "VBWebApi", "VBWebApi.vbproj");
            var vbNetFrameworkSlnPath = Path.Combine(_vbTmpTestProjectsExtractionPath, "VBWebApi", "VBWebApi.sln");
            var request = new PortingRequest
            {
                Projects = new List <ProjectDetails> {
                    new ProjectDetails {
                        ProjectFilePath   = projectPath,
                        PackageReferences = new List <PackageVersionPair>
                        {
                            new PackageVersionPair
                            {
                                PackageId = "Newtonsoft.Json",
                                Version   = "9.0.1"
                            }
                        }
                    }
                },
                SolutionPath       = vbNetFrameworkSlnPath,
                TargetFramework    = "netcoreapp3.1",
                RecommendedActions = new List <RecommendedAction>
                {
                    new PackageRecommendation
                    {
                        PackageId             = "Newtonsoft.Json",
                        Version               = "9.0.1",
                        RecommendedActionType = RecommendedActionType.UpgradePackage,
                        TargetVersions        = new List <string> {
                            "12.0.3"
                        },
                    }
                }
            };

            var result = portingAssistantClient.ApplyPortingChanges(request);

            Assert.True(result[0].Success);
            Assert.AreEqual(projectPath, result[0].ProjectFile);

            var projectFile = File.ReadAllText(projectPath);

            Assert.True(projectFile.Contains("netcoreapp3.1"));
            Assert.True(projectFile.Contains("\"Newtonsoft.Json\" Version=\"12.0.3\""));
        }