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), }); } }
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\"")); }