diff --git a/src/cli/Microsoft.DotNet.UpgradeAssistant.Cli/Commands/Upgrade/ConsoleUpgrade.cs b/src/cli/Microsoft.DotNet.UpgradeAssistant.Cli/Commands/Upgrade/ConsoleUpgrade.cs
index 2ee4028c5..b1445b61f 100644
--- a/src/cli/Microsoft.DotNet.UpgradeAssistant.Cli/Commands/Upgrade/ConsoleUpgrade.cs
+++ b/src/cli/Microsoft.DotNet.UpgradeAssistant.Cli/Commands/Upgrade/ConsoleUpgrade.cs
@@ -127,7 +127,7 @@ private async Task RunStepAsync(IUpgradeContext context, UpgradeStep step, Cance
if (!await ExecuteAndTimeCommand(context, step, command, token))
{
Console.ForegroundColor = ConsoleColor.Yellow;
- await _io.Output.WriteAsync($"Command ({command.CommandText}) did not succeed");
+ await _io.Output.WriteLineAsync($"Command ({command.CommandText}) did not succeed");
Console.ResetColor();
}
else if (!await _input.WaitToProceedAsync(token))
diff --git a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/IUpgradeContextExtensions.cs b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/IUpgradeContextExtensions.cs
index 2c6738c6b..80265398b 100644
--- a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/IUpgradeContextExtensions.cs
+++ b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/IUpgradeContextExtensions.cs
@@ -12,13 +12,13 @@ namespace Microsoft.DotNet.UpgradeAssistant
public static class IUpgradeContextExtensions
{
public static void AddResultForStep(this IUpgradeContext context, UpgradeStep step,
- string location, UpgradeStepStatus upgradeStepStatus, string message)
+ string location, UpgradeStepStatus upgradeStepStatus, string message, string? details = null, Uri? helpUri = null, OutputLevel? outputLevel = null)
{
- AddResult(context, step.Title, location, step.Id, upgradeStepStatus, message);
+ AddResult(context, step.Title, step.Description, location, step.Id, upgradeStepStatus, message, details, helpUri, outputLevel);
}
- public static void AddResult(this IUpgradeContext context, string stepName, string location, string ruleId,
- UpgradeStepStatus upgradeStepStatus, string message)
+ public static void AddResult(this IUpgradeContext context, string stepName, string stepDescription, string location, string ruleId,
+ UpgradeStepStatus upgradeStepStatus, string message, string? details = null, Uri? helpUri = null, OutputLevel? outputLevel = null)
{
var status = upgradeStepStatus switch
{
@@ -29,12 +29,23 @@ public static void AddResult(this IUpgradeContext context, string stepName, stri
_ => throw new ArgumentException("Invalid UpgradeStepStatus", nameof(upgradeStepStatus))
};
+ var level = outputLevel ?? upgradeStepStatus switch
+ {
+ UpgradeStepStatus.Skipped => OutputLevel.Info,
+ UpgradeStepStatus.Failed => OutputLevel.Warning,
+ UpgradeStepStatus.Complete => OutputLevel.Info,
+ UpgradeStepStatus.Incomplete => OutputLevel.Info,
+ _ => throw new ArgumentException("Invalid UpgradeStepStatus", nameof(upgradeStepStatus))
+ };
+
var result = new OutputResult()
{
+ Level = level,
FileLocation = location,
RuleId = ruleId,
- ResultMessage = $"{status}: {message}",
- FullDescription = message,
+ ResultMessage = string.IsNullOrEmpty(details) ? $"{status}: {message}" : $"{status}: {message}{Environment.NewLine}{details}",
+ FullDescription = stepDescription,
+ HelpUri = helpUri
};
var outputResultDefinition = new OutputResultDefinition()
diff --git a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputLevel.cs b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputLevel.cs
new file mode 100644
index 000000000..16d74649d
--- /dev/null
+++ b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputLevel.cs
@@ -0,0 +1,14 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+
+namespace Microsoft.DotNet.UpgradeAssistant
+{
+ public enum OutputLevel
+ {
+ Info,
+ Warning,
+ Error
+ }
+}
diff --git a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputResult.cs b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputResult.cs
index 31518fb59..0fe3dc966 100644
--- a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputResult.cs
+++ b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/OutputResult.cs
@@ -7,6 +7,8 @@ namespace Microsoft.DotNet.UpgradeAssistant
{
public record OutputResult
{
+ public OutputLevel Level { get; init; } = OutputLevel.Info;
+
public string RuleId { get; init; } = string.Empty;
public string RuleName { get; init; } = string.Empty;
@@ -19,7 +21,7 @@ public record OutputResult
///
/// Gets the link to the documentation.
///
- public Uri HelpUri { get; init; } = new("about:blank");
+ public Uri? HelpUri { get; init; }
public int LineNumber { get; init; }
diff --git a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/TestOptions.cs b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/TestOptions.cs
new file mode 100644
index 000000000..8c64be930
--- /dev/null
+++ b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/TestOptions.cs
@@ -0,0 +1,10 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+namespace Microsoft.DotNet.UpgradeAssistant
+{
+ public class TestOptions
+ {
+ public bool IsRunningTest { get; set; }
+ }
+}
diff --git a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/UpgradeStep.cs b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/UpgradeStep.cs
index 7a14fe7b6..dbf208a0a 100644
--- a/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/UpgradeStep.cs
+++ b/src/common/Microsoft.DotNet.UpgradeAssistant.Abstractions/UpgradeStep.cs
@@ -80,7 +80,7 @@ protected UpgradeStep(ILogger logger)
public BuildBreakRisk Risk { get; private set; }
///
- /// Gets a value indicating whether the upgrade is done (has completed successfully or was skipped).
+ /// Gets a value indicating whether the upgrade is done (has completed successfully, failed, or was skipped).
///
public bool IsDone => Status switch
{
@@ -97,7 +97,7 @@ protected UpgradeStep(ILogger logger)
///
/// Implementers should use this method to indicate whether the upgrade step applies to a given upgrade context.
/// Note that applicability is not about whether the step is complete or not (InitializeImplAsync should check that),
- /// rather it is about whether it would ever make sense to run the migraiton step on the given context or not.
+ /// rather it is about whether it would ever make sense to run the migration step on the given context or not.
/// For example, a upgrade step that acts at the project level would be inapplicable when a solution is selected
/// rather than a project.
///
@@ -196,8 +196,9 @@ public virtual async Task ApplyAsync(IUpgradeContext context, Cancellation
catch (Exception e)
#pragma warning restore CA1031 // Do not catch general exception types
{
- (Status, StatusDetails) = (UpgradeStepStatus.Failed, "Unexpected error applying step.");
- Logger.LogError(e, "Unexpected error applying step");
+ (Status, StatusDetails) = (UpgradeStepStatus.Failed, $"Unexpected error applying upgrade step '{Title}'");
+ Logger.LogError(e, "Unexpected error applying upgrade step {StepTitle}", Title);
+ context.AddResultForStep(this, context.CurrentProject?.GetFile()?.FilePath ?? string.Empty, Status, StatusDetails, details: e.ToString(), outputLevel: OutputLevel.Error);
return false;
}
}
diff --git a/src/components/Microsoft.DotNet.UpgradeAssistant.Analysis/SarifAnalyzeResultWriter.cs b/src/components/Microsoft.DotNet.UpgradeAssistant.Analysis/SarifAnalyzeResultWriter.cs
index e10d0b29a..2023da62c 100644
--- a/src/components/Microsoft.DotNet.UpgradeAssistant.Analysis/SarifAnalyzeResultWriter.cs
+++ b/src/components/Microsoft.DotNet.UpgradeAssistant.Analysis/SarifAnalyzeResultWriter.cs
@@ -97,6 +97,17 @@ private static ReportingDescriptor ExtractRule(IGrouping a
private static IList ExtractResults(IList analyzeResults)
{
+ FailureLevel GetFailureLevel(OutputLevel level)
+ {
+ return level switch
+ {
+ OutputLevel.Info => FailureLevel.Note,
+ OutputLevel.Warning => FailureLevel.Warning,
+ OutputLevel.Error => FailureLevel.Error,
+ _ => throw new ArgumentException($"Invalid {nameof(OutputLevel)}", nameof(level))
+ };
+ }
+
var results = new List();
foreach (var r in analyzeResults)
{
@@ -104,6 +115,7 @@ private static IList ExtractResults(IList analyzeResults)
{
RuleId = r.RuleId,
Message = r.ResultMessage.ToMessage(),
+ Level = GetFailureLevel(r.Level),
Locations = new List()
{
new()
diff --git a/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildProject.File.cs b/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildProject.File.cs
index 74bf78899..326454583 100644
--- a/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildProject.File.cs
+++ b/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildProject.File.cs
@@ -132,7 +132,7 @@ public void RenameFile(string filePath)
var backupName = $"{Path.GetFileNameWithoutExtension(fileName)}.old{Path.GetExtension(fileName)}";
var counter = 0;
- while (File.Exists(backupName))
+ while (File.Exists(Path.Combine(Path.GetDirectoryName(filePath)!, backupName)))
{
backupName = $"{Path.GetFileNameWithoutExtension(fileName)}.old.{counter++}{Path.GetExtension(fileName)}";
}
diff --git a/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/DependencyMinimumTargetFrameworkSelectorFilter.cs b/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/DependencyMinimumTargetFrameworkSelectorFilter.cs
index 822190779..c6e0eec4b 100644
--- a/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/DependencyMinimumTargetFrameworkSelectorFilter.cs
+++ b/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/DependencyMinimumTargetFrameworkSelectorFilter.cs
@@ -32,7 +32,7 @@ public void Process(ITargetFrameworkSelectorFilterState tfm)
if (tfm.Components.HasFlag(ProjectComponents.MauiAndroid) || tfm.Components.HasFlag(ProjectComponents.MauiiOS) || tfm.Components.HasFlag(ProjectComponents.Maui))
{
- _logger.LogInformation("Skip minimum dependency check because .NET MAUI support multiple TFMs.");
+ _logger.LogInformation("Skip minimum dependency check because .NET MAUI supports multiple TFMs.");
}
else if (tfm.Components.HasFlag(ProjectComponents.WinUI))
{
@@ -50,7 +50,7 @@ public void Process(ITargetFrameworkSelectorFilterState tfm)
{
if (tfm.TryUpdate(min))
{
- _logger.LogInformation("Recommending TFM {TFM} because of dependency on project {Dependency}", min, dep.GetFile().FilePath);
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because of dependency on project {Dependency}", min, tfm.Project, dep.GetFile().FilePath);
}
}
}
diff --git a/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/ExecutableTargetFrameworkSelectorFilter.cs b/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/ExecutableTargetFrameworkSelectorFilter.cs
index 7175b0ab9..3b4b41333 100644
--- a/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/ExecutableTargetFrameworkSelectorFilter.cs
+++ b/src/components/Microsoft.DotNet.UpgradeAssistant/TargetFramework/ExecutableTargetFrameworkSelectorFilter.cs
@@ -26,7 +26,7 @@ public void Process(ITargetFrameworkSelectorFilterState tfm)
{
if (tfm.TryUpdate(tfm.AppBase))
{
- _logger.LogInformation("Recommending executable TFM {TFM} because the project builds to an executable", tfm.AppBase);
+ _logger.LogInformation("Recommending executable TFM {TFM} for project {Name} because the project builds to an executable", tfm.AppBase, tfm.Project);
}
}
}
diff --git a/src/components/Microsoft.DotNet.UpgradeAssistant/UpgraderManager.cs b/src/components/Microsoft.DotNet.UpgradeAssistant/UpgraderManager.cs
index d29868978..9865f6241 100644
--- a/src/components/Microsoft.DotNet.UpgradeAssistant/UpgraderManager.cs
+++ b/src/components/Microsoft.DotNet.UpgradeAssistant/UpgraderManager.cs
@@ -15,15 +15,18 @@ public class UpgraderManager
{
private readonly IUpgradeStepOrderer _orderer;
private readonly ITelemetry _telemetry;
+ private readonly IUserInput _userInput;
private readonly ILogger _logger;
public UpgraderManager(
IUpgradeStepOrderer orderer,
ITelemetry telemetry,
+ IUserInput userInput,
ILogger logger)
{
_orderer = orderer ?? throw new ArgumentNullException(nameof(orderer));
_telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry));
+ _userInput = userInput ?? throw new ArgumentNullException(nameof(userInput));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
@@ -155,6 +158,12 @@ public async Task> InitializeAsync(IUpgradeContext cont
}
}
+ if (step.Status == UpgradeStepStatus.Failed && !_userInput.IsInteractive)
+ {
+ // Don't return failed steps in non-interactive mode
+ continue;
+ }
+
if (!step.IsDone)
{
return step;
diff --git a/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Solution/CurrentProjectSelectionStep.cs b/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Solution/CurrentProjectSelectionStep.cs
index 37455418b..df2513090 100644
--- a/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Solution/CurrentProjectSelectionStep.cs
+++ b/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Solution/CurrentProjectSelectionStep.cs
@@ -101,8 +101,8 @@ protected override async Task InitializeImplAsync(I
if (allProjectsAreUpgraded)
{
- Logger.LogInformation("No projects need upgraded for selected entrypoint");
- return new UpgradeStepInitializeResult(UpgradeStepStatus.Complete, "No projects need upgraded", BuildBreakRisk.None);
+ Logger.LogInformation("No projects need to be upgraded for selected entrypoint");
+ return new UpgradeStepInitializeResult(UpgradeStepStatus.Complete, "No projects need to be upgraded", BuildBreakRisk.None);
}
// If no project is selected, and at least one still needs upgraded, identify the next project to upgrade
@@ -129,7 +129,7 @@ protected override async Task InitializeImplAsync(I
{
if (await IsCompletedAsync(context, newCurrentProject, token).ConfigureAwait(false))
{
- Logger.LogDebug("Project {Project} does not need upgraded", newCurrentProject.FileInfo);
+ Logger.LogDebug("Project {Project} does not need to be upgraded", newCurrentProject.FileInfo);
}
else if (!(await RunChecksAsync(newCurrentProject, token).ConfigureAwait(false)))
{
@@ -140,6 +140,7 @@ protected override async Task InitializeImplAsync(I
context.SetCurrentProject(newCurrentProject);
}
+ Logger.LogInformation("Project {Name} was selected", newCurrentProject.GetRoslynProject().Name);
return new UpgradeStepInitializeResult(UpgradeStepStatus.Complete, $"Project {newCurrentProject.GetRoslynProject().Name} was selected", BuildBreakRisk.None);
}
}
@@ -160,6 +161,7 @@ protected override async Task ApplyImplAsync(IUpgradeCon
else
{
context.SetCurrentProject(selectedProject);
+ Logger.LogInformation("Project {Name} was selected", selectedProject.GetRoslynProject().Name);
return new UpgradeStepApplyResult(UpgradeStepStatus.Complete, $"Project {selectedProject.GetRoslynProject().Name} was selected.");
}
}
diff --git a/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Source/CodeFixerStep.cs b/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Source/CodeFixerStep.cs
index 759041058..89464877d 100644
--- a/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Source/CodeFixerStep.cs
+++ b/src/extensions/default/Microsoft.DotNet.UpgradeAssistant.Steps.Source/CodeFixerStep.cs
@@ -165,7 +165,7 @@ protected override async Task ApplyImplAsync(IUpgradeCon
private void AddResultToContext(IUpgradeContext context, string diagnosticId, string location, UpgradeStepStatus status, string resultMessage)
{
- context.AddResult(Title, location, diagnosticId, status, resultMessage);
+ context.AddResult(Title, Description, location, diagnosticId, status, resultMessage);
}
private async Task TryFixDiagnosticAsync(Diagnostic diagnostic, Document document, CancellationToken token)
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiAddProjectPropertiesStep.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiAddProjectPropertiesStep.cs
index 029a9aa91..26b2a33fa 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiAddProjectPropertiesStep.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiAddProjectPropertiesStep.cs
@@ -12,9 +12,9 @@ namespace Microsoft.DotNet.UpgradeAssistant.Extensions.Maui
{
public class MauiAddProjectPropertiesStep : UpgradeStep
{
- public override string Title => "Add Project Properties for .NET MAUI Project";
+ public override string Title => "Update Project Properties for .NET MAUI Project";
- public override string Description => "Adds the Project Properties per platform for .NET MAUI Projects";
+ public override string Description => "Updates the platform-specific project properties for a .NET MAUI project";
public MauiAddProjectPropertiesStep(ILogger logger)
: base(logger)
@@ -44,64 +44,63 @@ protected override async Task ApplyImplAsync(IUpgradeCon
var project = context.CurrentProject.Required();
var file = project.GetFile();
- var projectproperties = project.GetProjectPropertyElements();
-
- var projectType = await MauiUtilties.GetMauiProjectTypeForProject(project, token).ConfigureAwait(false);
+ var projectProperties = project.GetProjectPropertyElements();
+ var projectType = await project.GetMauiProjectType(token).ConfigureAwait(false);
switch (projectType)
{
case MauiProjectType.Maui:
{
- UpgradeMaui(projectproperties, file);
+ UpgradeMaui(projectProperties, file);
break;
}
case MauiProjectType.MauiAndroid:
{
- UpgradeMauiAndroid(projectproperties, file);
+ UpgradeMauiAndroid(projectProperties, file);
break;
}
case MauiProjectType.MauiiOS:
{
- UpgradeMauiiOS(projectproperties, file);
+ UpgradeMauiiOS(projectProperties, file);
break;
}
}
- if (projectproperties.GetProjectPropertyValue("UseMaui")?.FirstOrDefault() is null)
+ if (projectProperties.GetProjectPropertyValue("UseMaui")?.FirstOrDefault() is null)
{
file.SetPropertyValue("UseMaui", "true");
}
await file.SaveAsync(token).ConfigureAwait(false);
- Logger.LogInformation("Added .NET MAUI Project Properties successfully");
- return new UpgradeStepApplyResult(UpgradeStepStatus.Complete, $"Added Project Properties for {projectType.ToString()} to .NET MAUI project ");
+ Logger.LogInformation("Updated {ProjectType} project properties for .NET MAUI project {ProjectName}", projectType, project.FileInfo.Name);
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Complete, $"Updated {projectType} project properties for .NET MAUI project {project.FileInfo.Name}");
}
- private static void UpgradeMauiAndroid(IProjectPropertyElements projectproperties, IProjectFile file)
+ private static void UpgradeMauiAndroid(IProjectPropertyElements projectProperties, IProjectFile file)
{
// confirm final mappings https://github.com/xamarin/xamarin-android/blob/main/Documentation/guides/OneDotNet.md#changes-to-msbuild-properties
- // remove uneeded properties
- projectproperties.RemoveProjectProperty("AndroidApplication");
- projectproperties.RemoveProjectProperty("AndroidResgenFile");
- projectproperties.RemoveProjectProperty("AndroidResgenClass");
- projectproperties.RemoveProjectProperty("MonoAndroidAssetsPrefix");
- projectproperties.RemoveProjectProperty("MonoAndroidAssetsPrefix");
- projectproperties.RemoveProjectProperty("AndroidUseLatestPlatformSdk");
- projectproperties.RemoveProjectProperty("AndroidEnableSGenConcurrent");
- projectproperties.RemoveProjectProperty("AndroidHttpClientHandlerType");
- projectproperties.RemoveProjectProperty("AndroidManagedSymbols");
- projectproperties.RemoveProjectProperty("AndroidUseSharedRuntime");
- projectproperties.RemoveProjectProperty("MonoAndroidResourcePrefix");
- projectproperties.RemoveProjectProperty("AndroidUseAapt2");
- projectproperties.RemoveProjectProperty("AndroidManifest");
- projectproperties.RemoveProjectProperty("AndroidSupportedAbis");
-
- var androidLinkMode = projectproperties.GetProjectPropertyValue("AndroidLinkMode");
+ // remove unneeded properties
+ projectProperties.RemoveProjectProperty("AndroidApplication");
+ projectProperties.RemoveProjectProperty("AndroidResgenFile");
+ projectProperties.RemoveProjectProperty("AndroidResgenClass");
+ projectProperties.RemoveProjectProperty("MonoAndroidAssetsPrefix");
+ projectProperties.RemoveProjectProperty("MonoAndroidAssetsPrefix");
+ projectProperties.RemoveProjectProperty("AndroidUseLatestPlatformSdk");
+ projectProperties.RemoveProjectProperty("AndroidEnableSGenConcurrent");
+ projectProperties.RemoveProjectProperty("AndroidHttpClientHandlerType");
+ projectProperties.RemoveProjectProperty("AndroidManagedSymbols");
+ projectProperties.RemoveProjectProperty("AndroidUseSharedRuntime");
+ projectProperties.RemoveProjectProperty("MonoAndroidResourcePrefix");
+ projectProperties.RemoveProjectProperty("AndroidUseAapt2");
+ projectProperties.RemoveProjectProperty("AndroidManifest");
+ projectProperties.RemoveProjectProperty("AndroidSupportedAbis");
+
+ var androidLinkMode = projectProperties.GetProjectPropertyValue("AndroidLinkMode");
foreach (var linkMode in androidLinkMode)
{
- projectproperties.RemoveProjectProperty("AndroidLinkMode");
+ projectProperties.RemoveProjectProperty("AndroidLinkMode");
if (string.Equals(linkMode, "SdkOnly", StringComparison.Ordinal) || string.Equals(linkMode, "Full", StringComparison.Ordinal))
{
file.SetPropertyValue("PublishTrimmed", "true");
@@ -112,27 +111,27 @@ private static void UpgradeMauiAndroid(IProjectPropertyElements projectpropertie
file.SetPropertyValue("ImplicitUsings", "enable");
}
- private static void UpgradeMauiiOS(IProjectPropertyElements projectproperties, IProjectFile file)
+ private static void UpgradeMauiiOS(IProjectPropertyElements projectProperties, IProjectFile file)
{
- MauiUtilties.RuntimePropertyMapper(projectproperties, file, "MtouchArch");
- MauiUtilties.TransformProperty(projectproperties, file, "MtouchEnableSGenConc", "EnableSGenConc");
+ MauiUtilities.RuntimePropertyMapper(projectProperties, file, "MtouchArch");
+ MauiUtilities.TransformProperty(projectProperties, file, "MtouchEnableSGenConc", "EnableSGenConc");
// remove unneeded Properties
- projectproperties.RemoveProjectProperty("IPhoneResourcePrefix");
- projectproperties.RemoveProjectProperty("RuntimeIdentifiers");
- projectproperties.RemoveProjectProperty("EnableSGenConc");
- projectproperties.RemoveProjectProperty("ProvisioningType");
- projectproperties.RemoveProjectProperty("MtouchLink");
- projectproperties.RemoveProjectProperty("MtouchDebug");
- projectproperties.RemoveProjectProperty("MtouchInterpreter");
+ projectProperties.RemoveProjectProperty("IPhoneResourcePrefix");
+ projectProperties.RemoveProjectProperty("RuntimeIdentifiers");
+ projectProperties.RemoveProjectProperty("EnableSGenConc");
+ projectProperties.RemoveProjectProperty("ProvisioningType");
+ projectProperties.RemoveProjectProperty("MtouchLink");
+ projectProperties.RemoveProjectProperty("MtouchDebug");
+ projectProperties.RemoveProjectProperty("MtouchInterpreter");
}
- private static void UpgradeMaui(IProjectPropertyElements projectproperties, IProjectFile file)
+ private static void UpgradeMaui(IProjectPropertyElements projectProperties, IProjectFile file)
{
// remove unneeded Properties
- projectproperties.RemoveProjectProperty("DebugType");
- projectproperties.RemoveProjectProperty("DebugSymbols");
- projectproperties.RemoveProjectProperty("ProduceReferenceAssembly");
+ projectProperties.RemoveProjectProperty("DebugType");
+ projectProperties.RemoveProjectProperty("DebugSymbols");
+ projectProperties.RemoveProjectProperty("ProduceReferenceAssembly");
// adding MAUI Properties
file.SetPropertyValue("OutputType", "Library");
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiComponentIdentifier.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiComponentIdentifier.cs
index 250eb481b..9dba8e311 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiComponentIdentifier.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiComponentIdentifier.cs
@@ -40,7 +40,7 @@ public ValueTask GetComponentsAsync(IProject project, Cancell
}
}
- if (project.NuGetReferences.PackageReferences.Any(x => x.Name.Equals(_xamarinFormsPackage, StringComparison.OrdinalIgnoreCase)) && project.TargetFrameworks.FirstOrDefault().Equals(TargetFrameworkMoniker.NetStandard20))
+ if (project.NuGetReferences.PackageReferences.Any(x => x.Name.Equals(_xamarinFormsPackage, StringComparison.OrdinalIgnoreCase)) && project.IsNetStandard())
{
components |= ProjectComponents.Maui;
}
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiPlatformTargetFrameworkUpgradeStep.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiPlatformTargetFrameworkUpgradeStep.cs
index d2f42b996..f962bd303 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiPlatformTargetFrameworkUpgradeStep.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiPlatformTargetFrameworkUpgradeStep.cs
@@ -46,38 +46,38 @@ protected override async Task ApplyImplAsync(IUpgradeCon
var project = context.CurrentProject.Required();
var file = project.GetFile();
var components = await project.GetComponentsAsync(token).ConfigureAwait(false);
- var projectproperties = project.GetProjectPropertyElements();
- // This block checks TFMs for .NET MAUI Head Project
+ // This block checks TFMs for .NET MAUI project
if (components.HasFlag(ProjectComponents.Maui) && file.IsSdk)
{
- if (string.Equals(projectproperties.GetProjectPropertyValue("TargetFramework").FirstOrDefault(), TargetFrameworkMoniker.NetStandard20.ToString(), StringComparison.OrdinalIgnoreCase))
+ if (project.IsNetStandard())
{
- projectproperties.RemoveProjectProperty("TargetFramework");
+ var projectProperties = project.GetProjectPropertyElements();
+ projectProperties.RemoveProjectProperty("TargetFramework");
file.SetPropertyValue("UseMaui", "true");
file.SetPropertyValue("TargetFrameworks", "net7.0-android;net7.0-ios");
await file.SaveAsync(token).ConfigureAwait(false);
- Logger.LogInformation("Added TFMs to .NET MAUI project");
- return new UpgradeStepApplyResult(UpgradeStepStatus.Complete, $"Added TFMs to .NET MAUI Head project");
+ Logger.LogInformation("Added TFMs to .NET MAUI project {ProjectName}", project);
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Complete, $"Added TFMs to .NET MAUI project {project}");
}
else
{
- return new UpgradeStepApplyResult(UpgradeStepStatus.Failed, "Project is not of type Maui Head Project");
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Failed, $"Project {project} is not recognized as a .NET MAUI project (TargetFrameworks: {string.Join(", ", project.TargetFrameworks)})");
}
}
+ // If we're getting here we are dealing with a head project, which received its "componentFlag" in the TryConvertRunner
var componentFlagProperty = context.Properties.GetPropertyValue("componentFlag");
if (componentFlagProperty is null)
{
- return new UpgradeStepApplyResult(UpgradeStepStatus.Failed, $"componentFlag Context property was null.");
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Failed, $"componentFlag Context property was null");
}
var targetTfm = GetExpectedTargetFramework(componentFlagProperty);
file.SetTFM(targetTfm);
- Logger.LogInformation("TFM set to {TargetTFM}", targetTfm);
-
await file.SaveAsync(token).ConfigureAwait(false);
- return new UpgradeStepApplyResult(UpgradeStepStatus.Complete, $"Added TFM {targetTfm} to .NET MAUI project ");
+ Logger.LogInformation("Added TFM {TargetTFM} to .NET MAUI head project {ProjectName}", targetTfm, project);
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Complete, $"Added TFM {targetTfm} to .NET MAUI head project {project}");
}
protected async override Task InitializeImplAsync(IUpgradeContext context, CancellationToken token)
@@ -89,16 +89,15 @@ protected async override Task InitializeImplAsync(I
var project = context.CurrentProject.Required();
var components = await project.GetComponentsAsync(token).ConfigureAwait(false);
- var projectproperties = project.GetProjectPropertyElements();
// This block checks TFMs for .NET MAUI Head Project
if (components.HasFlag(ProjectComponents.Maui))
{
- if (project.TargetFrameworks.Any(x => x.IsNetStandard))
+ if (project.IsNetStandard())
{
- Logger.LogInformation("TFM needs updated to .NET MAUI TFMs");
+ Logger.LogInformation("TFM needs to be updated to .NET MAUI TFMs");
- return new UpgradeStepInitializeResult(UpgradeStepStatus.Incomplete, "TFM needs to be updated to .NET MAUI Targetframeworks", BuildBreakRisk.High);
+ return new UpgradeStepInitializeResult(UpgradeStepStatus.Incomplete, "TFM needs to be updated to .NET MAUI TargetFrameworks", BuildBreakRisk.High);
}
else
{
@@ -120,7 +119,7 @@ protected async override Task InitializeImplAsync(I
}
else
{
- Logger.LogInformation("TFM needs updated to {TargetTFM}", targetTfm);
+ Logger.LogInformation("TFM needs to be updated to {TargetTFM}", targetTfm);
return new UpgradeStepInitializeResult(UpgradeStepStatus.Incomplete, $"TFM needs to be updated to {targetTfm}", BuildBreakRisk.High);
}
}
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiTargetFrameworkSelectorFilter.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiTargetFrameworkSelectorFilter.cs
index c5e5c27d0..80192065b 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiTargetFrameworkSelectorFilter.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiTargetFrameworkSelectorFilter.cs
@@ -3,6 +3,7 @@
using System;
using System.Linq;
+using Microsoft.CodeAnalysis;
using Microsoft.Extensions.Logging;
namespace Microsoft.DotNet.UpgradeAssistant.Extensions.Maui
@@ -25,39 +26,36 @@ public void Process(ITargetFrameworkSelectorFilterState tfm)
if (tfm.Components.HasFlag(ProjectComponents.XamarinAndroid))
{
- _logger.LogInformation("Project {Name} is of type Xamarin.Android, migration to .NET MAUI recommends net7.0-android.", tfm.Project);
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because project is of type Xamarin.Android", TargetFrameworkMoniker.Net70_Android, tfm.Project);
tfm.TryUpdate(TargetFrameworkMoniker.Net70_Android);
}
if (tfm.Components.HasFlag(ProjectComponents.XamariniOS))
{
- _logger.LogInformation("Project {Name} is of type Xamarin.iOS, migration to .NET MAUI recommends net7.0-ios.", tfm.Project);
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because project is of type Xamarin.iOS", TargetFrameworkMoniker.Net70_iOS, tfm.Project);
tfm.TryUpdate(TargetFrameworkMoniker.Net70_iOS);
}
- if (tfm.Components.HasFlag(ProjectComponents.MauiAndroid))
+ if (tfm.Components.HasFlag(ProjectComponents.Maui) && tfm.Project?.TargetFrameworks.Count > 1)
{
- _logger.LogInformation("Project {Name} is of type .NET MAUI Target:Android, migration to .NET MAUI recommends net7.0-android.", tfm.Project);
+ TargetFrameworkMoniker targetFrameworkMoniker = tfm.Project.TargetFrameworks.FirstOrDefault();
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because project is of type .NET MAUI with multiple TFMs: {TFMs}", targetFrameworkMoniker, tfm.Project, string.Join(", ", tfm.Project.TargetFrameworks));
+ tfm.TryUpdate(targetFrameworkMoniker);
+ }
+ else if (tfm.Components.HasFlag(ProjectComponents.MauiAndroid))
+ {
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because project is of type .NET MAUI Target:Android", TargetFrameworkMoniker.Net70_Android, tfm.Project);
tfm.TryUpdate(TargetFrameworkMoniker.Net70_Android);
}
-
- if (tfm.Components.HasFlag(ProjectComponents.MauiiOS))
+ else if (tfm.Components.HasFlag(ProjectComponents.MauiiOS))
{
- _logger.LogInformation("Project {Name} is of type .NET MAUI Target:iOS, migration to .NET MAUI recommends net7.0-ios.", tfm.Project);
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because project is of type .NET MAUI Target:iOS", TargetFrameworkMoniker.Net70_Android, tfm.Project);
tfm.TryUpdate(TargetFrameworkMoniker.Net70_iOS);
}
-
- if (tfm.Components.HasFlag(ProjectComponents.Maui))
+ else if (tfm.Components.HasFlag(ProjectComponents.Maui))
{
- if (tfm.Project?.TargetFrameworks.Count > 1)
- {
- tfm.TryUpdate(tfm.Project.TargetFrameworks.FirstOrDefault());
- }
- else
- {
- _logger.LogInformation("Project {Name} is of type .NET MAUI Target: MAUI head, migration to .NET MAUI requires to be multiplatform", tfm.Project);
- tfm.TryUpdate(TargetFrameworkMoniker.Net70_Android);
- }
+ _logger.LogInformation("Recommending TFM {TFM} for project {Name} because project is of type .NET MAUI", TargetFrameworkMoniker.Net70_Android, tfm.Project);
+ tfm.TryUpdate(TargetFrameworkMoniker.Net70_Android);
}
}
}
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiUtilties.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiUtilities.cs
similarity index 69%
rename from src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiUtilties.cs
rename to src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiUtilities.cs
index bbcf08163..e0ca40cc4 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiUtilties.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiUtilities.cs
@@ -6,12 +6,24 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace Microsoft.DotNet.UpgradeAssistant.Extensions.Maui
{
- internal static class MauiUtilties
+ internal static class MauiUtilities
{
- public static async Task GetMauiProjectTypeForProject(IProject project, CancellationToken token)
+ public static UpgradeStepApplyResult CreateAndAddStepApplyResult(this IUpgradeContext context, UpgradeStep step, UpgradeStepStatus status, string message, string? location = null, string? details = null)
+ {
+ context?.AddResultForStep(step, location ?? context.CurrentProject?.GetFile()?.FilePath ?? string.Empty, status, message, details);
+ return new UpgradeStepApplyResult(status, string.IsNullOrEmpty(details) ? message : string.Concat(message, Environment.NewLine, details));
+ }
+
+ public static bool IsNetStandard(this IProject project)
+ {
+ return project?.TargetFrameworks.Any(x => x.IsNetStandard) ?? false;
+ }
+
+ public static async Task GetMauiProjectType(this IProject project, CancellationToken token)
{
var components = await project.GetComponentsAsync(token).ConfigureAwait(false);
if (components.HasFlag(ProjectComponents.MauiiOS) && components.HasFlag(ProjectComponents.MauiAndroid) && components.HasFlag(ProjectComponents.Maui))
@@ -30,7 +42,7 @@ public static async Task GetMauiProjectTypeForProject(IProject
return MauiProjectType.Maui;
}
- public static void RuntimePropertyMapper(IProjectPropertyElements projectproperties, IProjectFile file, string oldRumtimePropertyName)
+ public static void RuntimePropertyMapper(IProjectPropertyElements projectProperties, IProjectFile file, string oldRuntimePropertyName)
{
// following conversion mapping here : https://github.com/xamarin/xamarin-macios/wiki/Project-file-properties-dotnet-migration
var runtimeMapping = new Dictionary()
@@ -42,15 +54,15 @@ public static void RuntimePropertyMapper(IProjectPropertyElements projectpropert
{ "ARMv7+ARM64+i386", "ios-arm;ios-arm64;" },
};
- var runtimeprops = projectproperties.GetProjectPropertyValue(oldRumtimePropertyName).Distinct();
+ var runtimeProps = projectProperties.GetProjectPropertyValue(oldRuntimePropertyName).Distinct();
var runtimeIdentifierString = string.Empty;
- foreach (var prop in runtimeprops)
+ foreach (var prop in runtimeProps)
{
runtimeIdentifierString += runtimeMapping[prop];
}
// remove old properties before adding new
- projectproperties.RemoveProjectProperty(oldRumtimePropertyName);
+ projectProperties.RemoveProjectProperty(oldRuntimePropertyName);
if (runtimeIdentifierString.Count(x => x.Equals(';')) > 1)
{
file.SetPropertyValue("RuntimeIdentifiers", runtimeIdentifierString);
@@ -61,12 +73,12 @@ public static void RuntimePropertyMapper(IProjectPropertyElements projectpropert
}
}
- public static void TransformProperty(IProjectPropertyElements projectproperties, IProjectFile file, string oldpropertyName, string newPropertyName, string oldPropertyValue = "", string newPropertyValue = "")
+ public static void TransformProperty(IProjectPropertyElements projectProperties, IProjectFile file, string oldPropertyName, string newPropertyName, string oldPropertyValue = "", string newPropertyValue = "")
{
- var currentPropertyValue = projectproperties.GetProjectPropertyValue(oldpropertyName).FirstOrDefault();
+ var currentPropertyValue = projectProperties.GetProjectPropertyValue(oldPropertyName).FirstOrDefault();
if (!string.IsNullOrEmpty(currentPropertyValue))
{
- projectproperties.RemoveProjectProperty(oldpropertyName);
+ projectProperties.RemoveProjectProperty(oldPropertyName);
if (string.Equals(currentPropertyValue, oldPropertyValue, StringComparison.OrdinalIgnoreCase))
{
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiWorkloadUpgradeStep.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiWorkloadUpgradeStep.cs
index 6631a4a78..b985c1d9c 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiWorkloadUpgradeStep.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/MauiWorkloadUpgradeStep.cs
@@ -4,9 +4,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
using static System.FormattableString;
namespace Microsoft.DotNet.UpgradeAssistant.Extensions.Maui
@@ -20,17 +22,19 @@ public class MauiWorkloadUpgradeStep : UpgradeStep
{ "maui", ProjectComponents.MauiAndroid | ProjectComponents.MauiiOS },
};
- private static bool? _infoSucceeded;
+ private static StringBuilder? _infoResult;
private static bool? _installSucceeded;
+ private readonly IOptions _testOptions;
private readonly IProcessRunner _runner;
public override string Title => "Install .NET MAUI Workload";
public override string Description => "Check the .NET SDK for the MAUI workload and install it if necessary.";
- public MauiWorkloadUpgradeStep(ILogger logger, IProcessRunner runner)
+ public MauiWorkloadUpgradeStep(IOptions testOptions, ILogger logger, IProcessRunner runner)
: base(logger)
{
+ _testOptions = testOptions;
_runner = runner ?? throw new ArgumentNullException(nameof(runner));
}
@@ -58,16 +62,20 @@ protected override async Task ApplyImplAsync(IUpgradeCon
return new UpgradeStepApplyResult(UpgradeStepStatus.Skipped, ".NET MAUI workload install has already been run");
}
- _installSucceeded = await RunDotnetCommandAsync(context, "workload install maui", (_, message) => LogLevel.Information, token).ConfigureAwait(false);
+ StringBuilder resultBuilder = new();
+ _installSucceeded = await RunDotnetCommandAsync(context, "workload install maui", (_, message) =>
+ {
+ resultBuilder.AppendLine(message);
+ return LogLevel.Information;
+ }, token).ConfigureAwait(false);
if (!_installSucceeded.Value)
{
- Logger.LogError("Command 'dotnet workload install maui' failed!");
-
- return new UpgradeStepApplyResult(UpgradeStepStatus.Failed, ".NET MAUI workload installation failed!");
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Failed, ".NET MAUI workload installation failed",
+ details: string.Concat(resultBuilder.ToString(), Environment.NewLine, _infoResult?.ToString()));
}
- return new UpgradeStepApplyResult(UpgradeStepStatus.Complete, $".NET MAUI workload installation succeeded.");
+ return context.CreateAndAddStepApplyResult(this, UpgradeStepStatus.Complete, ".NET MAUI workload installation succeeded");
}
// Check if the right MAUI workload is installed
@@ -78,6 +86,11 @@ protected async override Task InitializeImplAsync(I
throw new ArgumentNullException(nameof(context));
}
+ if (_testOptions.Value.IsRunningTest)
+ {
+ return new UpgradeStepInitializeResult(UpgradeStepStatus.Skipped, ".NET MAUI workload install not performed during test", BuildBreakRisk.High);
+ }
+
if (_installSucceeded.HasValue)
{
return new UpgradeStepInitializeResult(UpgradeStepStatus.Skipped, ".NET MAUI workload install has already been run", _installSucceeded.Value ? BuildBreakRisk.None : BuildBreakRisk.High);
@@ -87,10 +100,17 @@ protected async override Task InitializeImplAsync(I
var components = await project.GetComponentsAsync(token).ConfigureAwait(false);
var workloads = ProjectComponents.None;
- if (!_infoSucceeded.HasValue)
+ if (_infoResult == null)
{
+ _infoResult = new();
+
// We only need to display the dotnet info debug information once
- _infoSucceeded = await RunDotnetCommandAsync(context, "--info", (_, message) => LogLevel.Debug, token).ConfigureAwait(false);
+ // Save the output to add to result details in case of a workload install failure
+ await RunDotnetCommandAsync(context, "--info", (_, message) =>
+ {
+ _infoResult.AppendLine(message);
+ return LogLevel.Debug;
+ }, token).ConfigureAwait(false);
}
var result = await RunDotnetCommandAsync(context, "workload list", (_, message) =>
@@ -129,6 +149,12 @@ protected override async Task IsApplicableImplAsync(IUpgradeContext contex
return false;
}
+ if (_installSucceeded.HasValue)
+ {
+ // Only need to attempt this once per session
+ return false;
+ }
+
var project = context.CurrentProject.Required();
var components = await project.GetComponentsAsync(token).ConfigureAwait(false);
diff --git a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/XamlNamespaceUpgradeStep.cs b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/XamlNamespaceUpgradeStep.cs
index ab0531c34..5b033b29f 100644
--- a/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/XamlNamespaceUpgradeStep.cs
+++ b/src/extensions/maui/Microsoft.DotNet.UpgradeAssistant.Extensions.Maui/XamlNamespaceUpgradeStep.cs
@@ -88,7 +88,7 @@ protected override async Task ApplyImplAsync(IUpgradeCon
await projectFile.SaveAsync(token).ConfigureAwait(false);
}
- return new UpgradeStepApplyResult(status, $"Updated XAML namespaces to .NET MAUI");
+ return context.CreateAndAddStepApplyResult(this, status, "Updated XAML namespaces to .NET MAUI");
}
protected override async Task InitializeImplAsync(IUpgradeContext context, CancellationToken token)
@@ -114,7 +114,7 @@ protected override async Task InitializeImplAsync(I
Logger.LogInformation(".NET MAUI project does not contain any XAML files");
return new UpgradeStepInitializeResult(UpgradeStepStatus.Complete, ".NET MAUI project does not contain any XAML files", BuildBreakRisk.None);
}
- });
+ }).ConfigureAwait(false);
}
protected override async Task IsApplicableImplAsync(IUpgradeContext context, CancellationToken token)
diff --git a/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/SdkStyleConversionSolutionWideStep.cs b/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/SdkStyleConversionSolutionWideStep.cs
index 78a2be2a0..130aadd43 100644
--- a/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/SdkStyleConversionSolutionWideStep.cs
+++ b/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/SdkStyleConversionSolutionWideStep.cs
@@ -95,7 +95,7 @@ public ProjectSdkConversionStep(TryConvertRunner runner, FileInfo project, ILogg
public override string Description => $"Convert {_project.Name} from old-style project format to SDK style project.";
protected override Task ApplyImplAsync(IUpgradeContext context, CancellationToken token)
- => _runner.ApplyAsync(context, context.GetProject(_project.FullName), token);
+ => _runner.ApplyAsync(this, context, context.GetProject(_project.FullName), token);
protected override Task InitializeImplAsync(IUpgradeContext context, CancellationToken token)
=> _runner.InitializeAsync(context.GetProject(_project.FullName), token);
diff --git a/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertProjectConverterStep.cs b/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertProjectConverterStep.cs
index 4952aec02..edcb67f77 100644
--- a/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertProjectConverterStep.cs
+++ b/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertProjectConverterStep.cs
@@ -49,7 +49,7 @@ protected override Task ApplyImplAsync(IUpgradeContext c
throw new ArgumentNullException(nameof(context));
}
- return _runner.ApplyAsync(context, context.CurrentProject.Required(), token);
+ return _runner.ApplyAsync(this, context, context.CurrentProject.Required(), token);
}
protected override Task InitializeImplAsync(IUpgradeContext context, CancellationToken token)
diff --git a/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertRunner.cs b/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertRunner.cs
index ecc7937e9..9cf4d068a 100644
--- a/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertRunner.cs
+++ b/src/extensions/try-convert/Microsoft.DotNet.UpgradeAssistant.Extensions.TryConvert/TryConvertRunner.cs
@@ -23,11 +23,11 @@ public TryConvertRunner(ITryConvertTool tool, IPackageRestorer restorer, ILogger
_logger = logger;
}
- public string VersionString => _tool?.Version is null ? string.Empty : $", version {_tool.Version}";
+ public string VersionString => _tool?.Version is null ? string.Empty : $", Version={_tool.Version}";
public string Path => _tool.Path;
- public async Task ApplyAsync(IUpgradeContext context, IProject project, CancellationToken token)
+ public async Task ApplyAsync(UpgradeStep step, IUpgradeContext context, IProject project, CancellationToken token)
{
if (context is null)
{
@@ -45,7 +45,7 @@ public async Task ApplyAsync(IUpgradeContext context, IP
context.Properties.SetPropertyValue("componentFlag", components.ToString(), true);
}
- var result = await RunTryConvertAsync(context, project, token).ConfigureAwait(false);
+ var result = await RunTryConvertAsync(step, context, project, token).ConfigureAwait(false);
await _restorer.RestorePackagesAsync(context, project, token).ConfigureAwait(false);
@@ -85,13 +85,12 @@ public async Task InitializeAsync(IProject project,
}
}
- private void AddResultToContext(IUpgradeContext context, UpgradeStepStatus status, string resultMessage)
+ private static void AddResultToContext(UpgradeStep step, IUpgradeContext context, UpgradeStepStatus status, string resultMessage)
{
- context.AddResult(TryConvertProjectConverterStep.StepTitle, context.CurrentProject?.GetFile()?.FilePath ?? string.Empty,
- WellKnownStepIds.TryConvertProjectConverterStepId, status, resultMessage);
+ context.AddResultForStep(step, context.CurrentProject?.GetFile()?.FilePath ?? string.Empty, status, resultMessage);
}
- private async Task RunTryConvertAsync(IUpgradeContext context, IProject project, CancellationToken token)
+ private async Task RunTryConvertAsync(UpgradeStep step, IUpgradeContext context, IProject project, CancellationToken token)
{
_logger.LogInformation($"Converting project file format with try-convert{VersionString}");
@@ -105,14 +104,14 @@ private async Task RunTryConvertAsync(IUpgradeContext co
{
var description = "Conversion with try-convert failed.";
_logger.LogCritical(description);
- AddResultToContext(context, UpgradeStepStatus.Failed, description);
+ AddResultToContext(step, context, UpgradeStepStatus.Failed, description);
return new UpgradeStepApplyResult(UpgradeStepStatus.Failed, description);
}
else
{
var description = "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target.";
_logger.LogInformation(description);
- AddResultToContext(context, UpgradeStepStatus.Complete, description);
+ AddResultToContext(step, context, UpgradeStepStatus.Complete, description);
return new UpgradeStepApplyResult(UpgradeStepStatus.Complete, "Project file converted successfully");
}
}
diff --git a/src/extensions/web/Microsoft.DotNet.UpgradeAssistant.Extensions.Web/WebProjectTargetFrameworkSelectorFilter.cs b/src/extensions/web/Microsoft.DotNet.UpgradeAssistant.Extensions.Web/WebProjectTargetFrameworkSelectorFilter.cs
index bd663d6da..c2b18d6c7 100644
--- a/src/extensions/web/Microsoft.DotNet.UpgradeAssistant.Extensions.Web/WebProjectTargetFrameworkSelectorFilter.cs
+++ b/src/extensions/web/Microsoft.DotNet.UpgradeAssistant.Extensions.Web/WebProjectTargetFrameworkSelectorFilter.cs
@@ -26,7 +26,7 @@ public void Process(ITargetFrameworkSelectorFilterState tfm)
{
if (tfm.TryUpdate(tfm.AppBase))
{
- _logger.LogInformation("Recommending executable TFM {TFM} because the project builds to a web app", tfm.AppBase);
+ _logger.LogInformation("Recommending executable TFM {TFM} for project {Name} because the project builds to a web app", tfm.AppBase, tfm.Project);
}
}
}
diff --git a/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsDesktopUpdaterSubStep.cs b/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsDesktopUpdaterSubStep.cs
index 67f8bbab6..0dadb8fbf 100644
--- a/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsDesktopUpdaterSubStep.cs
+++ b/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsDesktopUpdaterSubStep.cs
@@ -108,6 +108,7 @@ private void AddResultToContext(IUpgradeContext context, WindowsDesktopUpdaterRe
: ImmutableList.Create(context.CurrentProject!.GetFile().FilePath);
var results = fileLocations.Select(location => new OutputResult()
{
+ Level = updaterResult.Result ? OutputLevel.Info : OutputLevel.Error,
FileLocation = location,
RuleId = updaterResult.RuleId,
ResultMessage = $"{(updaterResult.Result ? "Success" : "Failed")}: {updaterResult.Message}",
diff --git a/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsSdkTargetFrameworkSelectorFilter.cs b/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsSdkTargetFrameworkSelectorFilter.cs
index efa4d2314..9f818a7aa 100644
--- a/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsSdkTargetFrameworkSelectorFilter.cs
+++ b/src/extensions/windows/Microsoft.DotNet.UpgradeAssistant.Extensions.Windows/WindowsSdkTargetFrameworkSelectorFilter.cs
@@ -28,7 +28,7 @@ public void Process(ITargetFrameworkSelectorFilterState tfm)
{
if (tfm.TryUpdate(result))
{
- _logger.LogInformation("Recommending Windows TFM {TFM} because the project either has Windows-specific dependencies or builds to a WinExe", result);
+ _logger.LogInformation("Recommending Windows TFM {TFM} for project {Name} because the project either has Windows-specific dependencies or builds to a WinExe", result, tfm.Project);
}
}
}
diff --git a/tests/components/Microsoft.DotNet.UpgradeAssistant.Analysis.Tests/SarifAnalyzeResultWriterTests.cs b/tests/components/Microsoft.DotNet.UpgradeAssistant.Analysis.Tests/SarifAnalyzeResultWriterTests.cs
index d058cd808..1dd6a308b 100644
--- a/tests/components/Microsoft.DotNet.UpgradeAssistant.Analysis.Tests/SarifAnalyzeResultWriterTests.cs
+++ b/tests/components/Microsoft.DotNet.UpgradeAssistant.Analysis.Tests/SarifAnalyzeResultWriterTests.cs
@@ -35,6 +35,7 @@ public async Task ValidateSarifMetadata()
{
new OutputResult
{
+ Level = OutputLevel.Error,
FileLocation = "some-file-path",
LineNumber = 1,
ResultMessage = "some result message",
@@ -71,6 +72,10 @@ public async Task ValidateSarifMetadata()
Assert.Equal(analyzeResult.RuleName, rule.Name);
Assert.Equal(analyzeResult.FullDescription, rule.FullDescription.Text);
Assert.Equal(analyzeResult.HelpUri, rule.HelpUri);
+ var result = sarifLog.Runs[0].Results.First();
+ Assert.Equal(analyzeResult.RuleId, result.RuleId);
+ Assert.Equal(analyzeResult.ResultMessage, result.Message.Text);
+ Assert.Equal(FailureLevel.Error, result.Level);
}
[Fact]
diff --git a/tests/components/Microsoft.DotNet.UpgradeAssistant.Tests/UpgraderTests.cs b/tests/components/Microsoft.DotNet.UpgradeAssistant.Tests/UpgraderTests.cs
index 4db140c09..4e60b65c3 100644
--- a/tests/components/Microsoft.DotNet.UpgradeAssistant.Tests/UpgraderTests.cs
+++ b/tests/components/Microsoft.DotNet.UpgradeAssistant.Tests/UpgraderTests.cs
@@ -74,6 +74,8 @@ public async Task CompletedStepsAreNotEnumerated(UpgradeStep[] steps, string[] e
using var mock = AutoMock.GetLoose(b => b.RegisterInstance(GetOrderer(steps)));
var upgrader = mock.Create();
+ mock.Mock().Setup(u => u.IsInteractive).Returns(true);
+
var context = mock.Mock();
context.SetupProperty(c => c.CurrentStep);
@@ -99,6 +101,8 @@ public async Task FailedStepsAreEnumerated()
using var mock = AutoMock.GetLoose(b => b.RegisterInstance(GetOrderer(steps)));
var upgrader = mock.Create();
+ mock.Mock().Setup(u => u.IsInteractive).Returns(true);
+
var context = mock.Mock();
context.SetupProperty(c => c.CurrentStep);
diff --git a/tests/tool/Integration.Tests/E2ETest.cs b/tests/tool/Integration.Tests/E2ETest.cs
index a90a94a25..cfc40ca65 100644
--- a/tests/tool/Integration.Tests/E2ETest.cs
+++ b/tests/tool/Integration.Tests/E2ETest.cs
@@ -9,6 +9,7 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AutoMapper.Configuration.Annotations;
+using Microsoft.CodeAnalysis.Sarif;
using Microsoft.DotNet.UpgradeAssistant;
using Microsoft.DotNet.UpgradeAssistant.Cli;
using Xunit;
@@ -39,14 +40,14 @@ public E2ETest(ITestOutputHelper output)
[InlineData("PCL", "SamplePCL.csproj", "")]
[InlineData("WpfSample/csharp", "BeanTrader.sln", "BeanTraderClient.csproj")]
-/*
- [InlineData("WebLibrary/csharp", "WebLibrary.csproj", "")]
- [InlineData("AspNetSample/csharp", "TemplateMvc.csproj", "")]
-*/
+ /*
+ [InlineData("WebLibrary/csharp", "WebLibrary.csproj", "")]
+ [InlineData("AspNetSample/csharp", "TemplateMvc.csproj", "")]
+ */
[InlineData("WpfSample/vb", "WpfApp1.sln", "")]
[InlineData("WCFSample", "ConsoleApp.csproj", "")]
- // TODO: [mgoertz] Re-enable after .NET 7 GA
+ // TODO: [mgoertz] Re-enable after MAUI workloads are installed on test machines
// [InlineData("MauiSample/droid", "EwDavidForms.sln", "EwDavidForms.Android.csproj")]
// [InlineData("MauiSample/ios", "EwDavidForms.sln", "EwDavidForms.iOS.csproj")]
[Theory]
@@ -135,7 +136,8 @@ private void AssertDirectoriesEqual(string expectedDir, string actualDir)
.Replace(actualDir.Replace("\\", "/"), "[ACTUAL_PROJECT_ROOT]")
.Replace(Directory.GetCurrentDirectory().Replace("\\", "/"), "[UA_PROJECT_BIN]");
- actualText = Regex.Replace(actualText, "Version=(\\d+\\.){3}([\\da-zA-Z\\-])+", "[VERSION]");
+ // Replace version strings, such as "Version=42.42.42.42" or "Version=0.4.0-dev"
+ actualText = Regex.Replace(actualText, @"Version=\d+(\.\d+){2}(((\.\d+){1})|([\da-zA-Z\-])*)", "[VERSION]");
}
if (!string.Equals(expectedText, actualText, StringComparison.Ordinal))
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/AspNetSample/csharp/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/AspNetSample/csharp/Upgraded/UpgradeReport.sarif
index 75d1e62f8..567d9ce89 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/AspNetSample/csharp/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/AspNetSample/csharp/Upgraded/UpgradeReport.sarif
@@ -12,7 +12,7 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
},
"helpUri": "about:blank"
}
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj
index 5f3375e9b..ff34c3c6b 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj
@@ -1,7 +1,7 @@
true
- net6.0-android;net6.0-ios
+ net7.0-android;net7.0-ios
Library
enable
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/UpgradeReport.sarif
index 4feb5d9b3..ca249664f 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/droid/Upgraded/UpgradeReport.sarif
@@ -5,16 +5,49 @@
{
"tool": {
"driver": {
- "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "name": "Add TargetFramework for .NET MAUI Project",
"semanticVersion": "",
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
"fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Analytics'"
- },
- "helpUri": "about:blank"
+ "text": "Add Platform TargetFramework for XamarinForms projects being converted"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Added TFMs to .NET MAUI project EwDavidForms.csproj"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms/EwDavidForms.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
+ {
+ "tool": {
+ "driver": {
+ "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -22,6 +55,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Analytics'"
},
@@ -47,11 +81,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Crashes'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -59,6 +89,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Crashes'"
},
@@ -84,11 +115,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.CommunityToolkit'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -96,6 +123,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.CommunityToolkit'"
},
@@ -121,11 +149,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Forms'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -133,6 +157,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Forms'"
},
@@ -158,11 +183,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Essentials'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -170,6 +191,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Essentials'"
},
@@ -195,11 +217,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'CommunityToolkit.Maui'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -207,6 +225,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'CommunityToolkit.Maui'"
},
@@ -232,11 +251,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -244,6 +259,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -261,6 +277,43 @@
],
"columnKind": "utf16CodeUnits"
},
+ {
+ "tool": {
+ "driver": {
+ "name": "Update Project Properties for .NET MAUI Project",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
+ "fullDescription": {
+ "text": "Updates the platform-specific project properties for a .NET MAUI project"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Updated Maui project properties for .NET MAUI project EwDavidForms.csproj"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms/EwDavidForms.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
{
"tool": {
"driver": {
@@ -271,9 +324,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Templates.TemplateInserterStep",
"fullDescription": {
- "text": "Added template file MauiProgram.cs"
- },
- "helpUri": "about:blank"
+ "text": "Add template files (for startup code paths, for example) based on template files described in: Program.cs, Startup.cs, appsettings.json, appsettings.Development.json, Program.vb, Startup.vb, appsettings.json, appsettings.Development.json, app.manifest, Properties\\launchSettings.json, Properties\\PublishProfiles\\win10-arm64.pubxml, Properties\\PublishProfiles\\win10-x64.pubxml, Properties\\PublishProfiles\\win10-x86.pubxml, App.xaml.cs, MainWindow.xaml.cs, MainWindow.xaml, UWPToWinAppSDKUpgradeHelpers.cs, MainApplication.cs, MauiProgram.cs"
+ }
}
]
}
@@ -281,6 +333,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Templates.TemplateInserterStep",
+ "level": "note",
"message": {
"text": "Complete: Added template file MauiProgram.cs"
},
@@ -298,6 +351,43 @@
],
"columnKind": "utf16CodeUnits"
},
+ {
+ "tool": {
+ "driver": {
+ "name": "Update XAML Namespaces",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.XamlNamespaceUpgradeStep",
+ "fullDescription": {
+ "text": "Updates XAML namespaces to .NET MAUI"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.XamlNamespaceUpgradeStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Updated XAML namespaces to .NET MAUI"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms/EwDavidForms.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
{
"tool": {
"driver": {
@@ -308,9 +398,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -318,6 +407,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
},
@@ -345,9 +435,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\AssemblyInfo.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -355,6 +444,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\AssemblyInfo.cs"
},
@@ -382,9 +472,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\MainPage.xaml.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -392,6 +481,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\MainPage.xaml.cs"
},
@@ -419,9 +509,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -429,6 +518,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
},
@@ -456,9 +546,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -466,6 +555,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -486,16 +576,49 @@
{
"tool": {
"driver": {
- "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "name": "Add TargetFramework for .NET MAUI Project",
"semanticVersion": "",
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
"fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Analytics'"
- },
- "helpUri": "about:blank"
+ "text": "Add Platform TargetFramework for XamarinForms projects being converted"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Added TFM net7.0-android to .NET MAUI head project EwDavidForms.Android.csproj"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms.Android/EwDavidForms.Android.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
+ {
+ "tool": {
+ "driver": {
+ "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -503,6 +626,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Analytics'"
},
@@ -528,11 +652,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Crashes'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -540,6 +660,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Crashes'"
},
@@ -565,11 +686,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.CommunityToolkit'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -577,6 +694,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.CommunityToolkit'"
},
@@ -602,11 +720,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Forms'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -614,6 +728,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Forms'"
},
@@ -639,11 +754,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Essentials'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -651,6 +762,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Essentials'"
},
@@ -676,11 +788,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Android.Support.Design'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -688,6 +796,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Android.Support.Design'"
},
@@ -713,11 +822,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Android.Support.v7.AppCompat'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -725,6 +830,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Android.Support.v7.AppCompat'"
},
@@ -750,11 +856,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Android.Support.v4'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -762,6 +864,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Android.Support.v4'"
},
@@ -787,11 +890,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'CommunityToolkit.Maui'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -799,6 +898,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'CommunityToolkit.Maui'"
},
@@ -824,11 +924,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -836,6 +932,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -856,25 +953,25 @@
{
"tool": {
"driver": {
- "name": "Update TFM",
+ "name": "Update Project Properties for .NET MAUI Project",
"semanticVersion": "",
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
"fullDescription": {
- "text": "Updated TFM to net7.0-android"
- },
- "helpUri": "about:blank"
+ "text": "Updates the platform-specific project properties for a .NET MAUI project"
+ }
}
]
}
},
"results": [
{
- "ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
+ "level": "note",
"message": {
- "text": "Complete: Updated TFM to net7.0-android"
+ "text": "Complete: Updated MauiAndroid project properties for .NET MAUI project EwDavidForms.Android.csproj"
},
"locations": [
{
@@ -900,9 +997,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Templates.TemplateInserterStep",
"fullDescription": {
- "text": "Added template file MainApplication.cs"
- },
- "helpUri": "about:blank"
+ "text": "Add template files (for startup code paths, for example) based on template files described in: Program.cs, Startup.cs, appsettings.json, appsettings.Development.json, Program.vb, Startup.vb, appsettings.json, appsettings.Development.json, app.manifest, Properties\\launchSettings.json, Properties\\PublishProfiles\\win10-arm64.pubxml, Properties\\PublishProfiles\\win10-x64.pubxml, Properties\\PublishProfiles\\win10-x86.pubxml, App.xaml.cs, MainWindow.xaml.cs, MainWindow.xaml, UWPToWinAppSDKUpgradeHelpers.cs, MainApplication.cs, MauiProgram.cs"
+ }
}
]
}
@@ -910,6 +1006,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Templates.TemplateInserterStep",
+ "level": "note",
"message": {
"text": "Complete: Added template file MainApplication.cs"
},
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj
index 5f3375e9b..ff34c3c6b 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/EwDavidForms/EwDavidForms/EwDavidForms.csproj
@@ -1,7 +1,7 @@
true
- net6.0-android;net6.0-ios
+ net7.0-android;net7.0-ios
Library
enable
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/UpgradeReport.sarif
index bf8d6a03c..48f643369 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/MauiSample/ios/Upgraded/UpgradeReport.sarif
@@ -5,16 +5,49 @@
{
"tool": {
"driver": {
- "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "name": "Add TargetFramework for .NET MAUI Project",
"semanticVersion": "",
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
"fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Analytics'"
- },
- "helpUri": "about:blank"
+ "text": "Add Platform TargetFramework for XamarinForms projects being converted"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Added TFMs to .NET MAUI project EwDavidForms.csproj"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms/EwDavidForms.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
+ {
+ "tool": {
+ "driver": {
+ "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -22,6 +55,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Analytics'"
},
@@ -47,11 +81,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Crashes'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -59,6 +89,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Crashes'"
},
@@ -84,11 +115,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.CommunityToolkit'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -96,6 +123,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.CommunityToolkit'"
},
@@ -121,11 +149,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Forms'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -133,6 +157,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Forms'"
},
@@ -158,11 +183,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Essentials'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -170,6 +191,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Essentials'"
},
@@ -195,11 +217,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'CommunityToolkit.Maui'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -207,6 +225,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'CommunityToolkit.Maui'"
},
@@ -232,11 +251,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -244,6 +259,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -261,6 +277,43 @@
],
"columnKind": "utf16CodeUnits"
},
+ {
+ "tool": {
+ "driver": {
+ "name": "Update Project Properties for .NET MAUI Project",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
+ "fullDescription": {
+ "text": "Updates the platform-specific project properties for a .NET MAUI project"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Updated Maui project properties for .NET MAUI project EwDavidForms.csproj"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms/EwDavidForms.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
{
"tool": {
"driver": {
@@ -271,9 +324,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Templates.TemplateInserterStep",
"fullDescription": {
- "text": "Added template file MauiProgram.cs"
- },
- "helpUri": "about:blank"
+ "text": "Add template files (for startup code paths, for example) based on template files described in: Program.cs, Startup.cs, appsettings.json, appsettings.Development.json, Program.vb, Startup.vb, appsettings.json, appsettings.Development.json, app.manifest, Properties\\launchSettings.json, Properties\\PublishProfiles\\win10-arm64.pubxml, Properties\\PublishProfiles\\win10-x64.pubxml, Properties\\PublishProfiles\\win10-x86.pubxml, App.xaml.cs, MainWindow.xaml.cs, MainWindow.xaml, UWPToWinAppSDKUpgradeHelpers.cs, MainApplication.cs, MauiProgram.cs"
+ }
}
]
}
@@ -281,6 +333,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Templates.TemplateInserterStep",
+ "level": "note",
"message": {
"text": "Complete: Added template file MauiProgram.cs"
},
@@ -298,6 +351,43 @@
],
"columnKind": "utf16CodeUnits"
},
+ {
+ "tool": {
+ "driver": {
+ "name": "Update XAML Namespaces",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.XamlNamespaceUpgradeStep",
+ "fullDescription": {
+ "text": "Updates XAML namespaces to .NET MAUI"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.XamlNamespaceUpgradeStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Updated XAML namespaces to .NET MAUI"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms/EwDavidForms.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
{
"tool": {
"driver": {
@@ -308,9 +398,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -318,6 +407,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
},
@@ -345,9 +435,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\AssemblyInfo.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -355,6 +444,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\AssemblyInfo.cs"
},
@@ -382,9 +472,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\MainPage.xaml.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -392,6 +481,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\MainPage.xaml.cs"
},
@@ -419,9 +509,8 @@
{
"id": "UA0014",
"fullDescription": {
- "text": "Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
- },
- "helpUri": "about:blank"
+ "text": "Update source files to automatically fix upgrade analyzer UA0014"
+ }
}
]
}
@@ -429,6 +518,7 @@
"results": [
{
"ruleId": "UA0014",
+ "level": "note",
"message": {
"text": "Complete: Diagnostic UA0014 fixed in [ACTUAL_PROJECT_ROOT]\\EwDavidForms\\EwDavidForms\\App.xaml.cs"
},
@@ -456,9 +546,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -466,6 +555,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -486,16 +576,49 @@
{
"tool": {
"driver": {
- "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "name": "Add TargetFramework for .NET MAUI Project",
"semanticVersion": "",
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
"fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Analytics'"
- },
- "helpUri": "about:blank"
+ "text": "Add Platform TargetFramework for XamarinForms projects being converted"
+ }
+ }
+ ]
+ }
+ },
+ "results": [
+ {
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiPlatformTargetFrameworkUpgradeStep",
+ "level": "note",
+ "message": {
+ "text": "Complete: Added TFM net7.0-ios to .NET MAUI head project EwDavidForms.iOS.csproj"
+ },
+ "locations": [
+ {
+ "physicalLocation": {
+ "artifactLocation": {
+ "uri": "file:///[ACTUAL_PROJECT_ROOT]/EwDavidForms/EwDavidForms.iOS/EwDavidForms.iOS.csproj"
+ },
+ "region": {}
+ }
+ }
+ ]
+ }
+ ],
+ "columnKind": "utf16CodeUnits"
+ },
+ {
+ "tool": {
+ "driver": {
+ "name": "Remove package 'Microsoft.AppCenter.Analytics'",
+ "semanticVersion": "",
+ "informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
+ "rules": [
+ {
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -503,6 +626,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Analytics'"
},
@@ -528,11 +652,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.AppCenter.Crashes'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -540,6 +660,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.AppCenter.Crashes'"
},
@@ -565,11 +686,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.CommunityToolkit'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -577,6 +694,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.CommunityToolkit'"
},
@@ -602,11 +720,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Forms'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -614,6 +728,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Forms'"
},
@@ -639,11 +754,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Xamarin.Essentials'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -651,6 +762,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Xamarin.Essentials'"
},
@@ -676,11 +788,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'CommunityToolkit.Maui'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -688,6 +796,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'CommunityToolkit.Maui'"
},
@@ -713,11 +822,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -725,6 +830,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -745,25 +851,25 @@
{
"tool": {
"driver": {
- "name": "Update TFM",
+ "name": "Update Project Properties for .NET MAUI Project",
"semanticVersion": "",
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "id": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
"fullDescription": {
- "text": "Updated TFM to net7.0-ios"
- },
- "helpUri": "about:blank"
+ "text": "Updates the platform-specific project properties for a .NET MAUI project"
+ }
}
]
}
},
"results": [
{
- "ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "ruleId": "Microsoft.DotNet.UpgradeAssistant.Extensions.Maui.MauiAddProjectPropertiesStep",
+ "level": "note",
"message": {
- "text": "Complete: Updated TFM to net7.0-ios"
+ "text": "Complete: Updated MauiiOS project properties for .NET MAUI project EwDavidForms.iOS.csproj"
},
"locations": [
{
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/PCL/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/PCL/Upgraded/UpgradeReport.sarif
index df222b7fe..d40635979 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/PCL/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/PCL/Upgraded/UpgradeReport.sarif
@@ -12,9 +12,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -22,6 +21,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -47,11 +47,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.Bcl'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -59,6 +55,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Bcl'"
},
@@ -84,11 +81,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.Bcl.Build'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -96,6 +89,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Bcl.Build'"
},
@@ -121,11 +115,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.Net.Http'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -133,6 +123,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Net.Http'"
},
@@ -158,11 +149,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.Net.Http'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -170,6 +157,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.Net.Http'"
},
@@ -197,9 +185,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Newtonsoft.Json'"
- },
- "helpUri": "about:blank"
+ "text": "Package Newtonsoft.Json, [VERSION] does not support the target(s) netstandard1.1 but a newer version (9.0.1) does. Package Newtonsoft.Json needs to be upgraded across major versions (8.0.1 -> 9.0.1) which may introduce breaking changes."
+ }
}
]
}
@@ -207,6 +194,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Newtonsoft.Json'"
},
@@ -234,9 +222,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'Newtonsoft.Json'"
- },
- "helpUri": "about:blank"
+ "text": "Package Newtonsoft.Json, [VERSION] does not support the target(s) netstandard1.1 but a newer version (9.0.1) does. Package Newtonsoft.Json needs to be upgraded across major versions (8.0.1 -> 9.0.1) which may introduce breaking changes."
+ }
}
]
}
@@ -244,6 +231,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Newtonsoft.Json'"
},
@@ -269,11 +257,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -281,6 +265,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/WCFSample/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/WCFSample/Upgraded/UpgradeReport.sarif
index 27a1f08b0..1fdc322c5 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/WCFSample/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/WCFSample/Upgraded/UpgradeReport.sarif
@@ -12,9 +12,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -22,6 +21,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -47,11 +47,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove reference 'System.ServiceModel'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -59,6 +55,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove reference 'System.ServiceModel'"
},
@@ -84,11 +81,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -96,6 +89,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -123,9 +117,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
"fullDescription": {
- "text": "Updated TFM to net7.0"
- },
- "helpUri": "about:blank"
+ "text": "Update TFM for current project"
+ }
}
]
}
@@ -133,6 +126,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "level": "note",
"message": {
"text": "Complete: Updated TFM to net7.0"
},
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/csharp/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/csharp/Upgraded/UpgradeReport.sarif
index 1902499ed..ee12e3ec6 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/csharp/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/csharp/Upgraded/UpgradeReport.sarif
@@ -12,9 +12,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -22,6 +21,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -47,11 +47,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove reference 'System.ServiceModel'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -59,6 +55,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove reference 'System.ServiceModel'"
},
@@ -84,11 +81,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Primitives'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -96,6 +89,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Primitives'"
},
@@ -121,11 +115,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Http'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -133,6 +123,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Http'"
},
@@ -158,11 +149,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Duplex'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -170,6 +157,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Duplex'"
},
@@ -195,11 +183,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.NetTcp'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -207,6 +191,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.NetTcp'"
},
@@ -232,11 +217,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Security'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -244,6 +225,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Security'"
},
@@ -269,11 +251,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Federation'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -281,6 +259,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Federation'"
},
@@ -306,11 +285,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -318,6 +293,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -345,9 +321,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.ServiceModel.Primitives'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.ServiceModel.Primitives needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -355,6 +330,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.ServiceModel.Primitives'"
},
@@ -382,9 +358,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.ServiceModel.Http'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.ServiceModel.Http needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -392,6 +367,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.ServiceModel.Http'"
},
@@ -419,9 +395,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.ServiceModel.Security'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.ServiceModel.Security needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -429,6 +404,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.ServiceModel.Security'"
},
@@ -456,9 +432,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
"fullDescription": {
- "text": "Updated TFM to netstandard2.0"
- },
- "helpUri": "about:blank"
+ "text": "Update TFM for current project"
+ }
}
]
}
@@ -466,6 +441,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "level": "note",
"message": {
"text": "Complete: Updated TFM to netstandard2.0"
},
@@ -493,9 +469,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -503,6 +478,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -528,11 +504,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove reference 'System.Configuration'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -540,6 +512,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove reference 'System.Configuration'"
},
@@ -565,11 +538,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove reference 'System.Net.Http.WebRequest'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -577,6 +546,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove reference 'System.Net.Http.WebRequest'"
},
@@ -602,11 +572,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove reference 'System.ServiceModel'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -614,6 +580,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.Reference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove reference 'System.ServiceModel'"
},
@@ -639,11 +606,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Remove package 'Microsoft.Net.Http'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -651,6 +614,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Net.Http'"
},
@@ -676,11 +640,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.Net.Http'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -688,6 +648,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.Net.Http'"
},
@@ -713,11 +674,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.Configuration.ConfigurationManager'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -725,6 +682,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.Configuration.ConfigurationManager'"
},
@@ -750,11 +708,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Primitives'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -762,6 +716,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Primitives'"
},
@@ -787,11 +742,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Http'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -799,6 +750,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Http'"
},
@@ -824,11 +776,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Duplex'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -836,6 +784,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Duplex'"
},
@@ -861,11 +810,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.NetTcp'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -873,6 +818,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.NetTcp'"
},
@@ -898,11 +844,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Security'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -910,6 +852,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Security'"
},
@@ -935,11 +878,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'System.ServiceModel.Federation'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -947,6 +886,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'System.ServiceModel.Federation'"
},
@@ -972,11 +912,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -984,6 +920,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -1011,9 +948,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Castle.Core'"
- },
- "helpUri": "about:blank"
+ "text": "Package Castle.Core needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1021,6 +957,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Castle.Core'"
},
@@ -1048,9 +985,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'ControlzEx'"
- },
- "helpUri": "about:blank"
+ "text": "Package ControlzEx needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1058,6 +994,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'ControlzEx'"
},
@@ -1085,9 +1022,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.Bcl'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.Bcl needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1095,6 +1031,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Bcl'"
},
@@ -1122,9 +1059,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.Bcl.Async'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.Bcl.Async needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1132,6 +1068,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Bcl.Async'"
},
@@ -1159,9 +1096,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.Bcl.Build'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.Bcl.Build needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1169,6 +1105,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Bcl.Build'"
},
@@ -1196,9 +1133,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.CodeQuality.Analyzers'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.CodeQuality.Analyzers needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1206,6 +1142,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.CodeQuality.Analyzers'"
},
@@ -1233,9 +1170,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.NetCore.Analyzers'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.NetCore.Analyzers needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1243,6 +1179,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.NetCore.Analyzers'"
},
@@ -1270,9 +1207,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.NetFramework.Analyzers'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.NetFramework.Analyzers needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1280,6 +1216,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.NetFramework.Analyzers'"
},
@@ -1307,9 +1244,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Microsoft.Rest.ClientRuntime'"
- },
- "helpUri": "about:blank"
+ "text": "Package Microsoft.Rest.ClientRuntime needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1317,6 +1253,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Microsoft.Rest.ClientRuntime'"
},
@@ -1344,9 +1281,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.Security.Cryptography.X509Certificates'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.Security.Cryptography.X509Certificates needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1354,6 +1290,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.Security.Cryptography.X509Certificates'"
},
@@ -1381,9 +1318,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Text.Analyzers'"
- },
- "helpUri": "about:blank"
+ "text": "Package Text.Analyzers needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1391,6 +1327,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Text.Analyzers'"
},
@@ -1418,9 +1355,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.ServiceModel.Primitives'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.ServiceModel.Primitives needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1428,6 +1364,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.ServiceModel.Primitives'"
},
@@ -1455,9 +1392,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.ServiceModel.Http'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.ServiceModel.Http needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1465,6 +1401,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.ServiceModel.Http'"
},
@@ -1492,9 +1429,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.ServiceModel.Security'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.ServiceModel.Security needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1502,6 +1438,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.ServiceModel.Security'"
},
@@ -1529,9 +1466,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
"fullDescription": {
- "text": "Updated TFM to net7.0-windows"
- },
- "helpUri": "about:blank"
+ "text": "Update TFM for current project"
+ }
}
]
}
@@ -1539,6 +1475,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "level": "note",
"message": {
"text": "Complete: Updated TFM to net7.0-windows"
},
@@ -1566,9 +1503,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Hyak.Common'"
- },
- "helpUri": "about:blank"
+ "text": "Package Hyak.Common, [VERSION] does not support the target(s) net7.0-windows but a newer version (1.2.2) does. Package Hyak.Common needs to be upgraded from 1.0.2 to 1.2.2."
+ }
}
]
}
@@ -1576,6 +1512,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Hyak.Common'"
},
@@ -1603,9 +1540,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'MahApps.Metro'"
- },
- "helpUri": "about:blank"
+ "text": "Package MahApps.Metro, [VERSION] does not support the target(s) net7.0-windows but a newer version (2.4.4) does. Package MahApps.Metro needs to be upgraded across major versions (1.6.5 -> 2.4.4) which may introduce breaking changes."
+ }
}
]
}
@@ -1613,6 +1549,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'MahApps.Metro'"
},
@@ -1640,9 +1577,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Newtonsoft.Json'"
- },
- "helpUri": "about:blank"
+ "text": "Package Newtonsoft.Json, [VERSION] does not support the target(s) net7.0-windows but a newer version (9.0.1) does. Package Newtonsoft.Json needs to be upgraded across major versions (7.0.1 -> 9.0.1) which may introduce breaking changes."
+ }
}
]
}
@@ -1650,6 +1586,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Newtonsoft.Json'"
},
@@ -1677,9 +1614,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Nito.AsyncEx'"
- },
- "helpUri": "about:blank"
+ "text": "Package Nito.AsyncEx, [VERSION] does not support the target(s) net7.0-windows but a newer version (5.1.0) does. Package Nito.AsyncEx needs to be upgraded across major versions (4.0.1 -> 5.1.0) which may introduce breaking changes."
+ }
}
]
}
@@ -1687,6 +1623,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Nito.AsyncEx'"
},
@@ -1714,9 +1651,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'Hyak.Common'"
- },
- "helpUri": "about:blank"
+ "text": "Package Hyak.Common, [VERSION] does not support the target(s) net7.0-windows but a newer version (1.2.2) does. Package Hyak.Common needs to be upgraded from 1.0.2 to 1.2.2."
+ }
}
]
}
@@ -1724,6 +1660,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Hyak.Common'"
},
@@ -1751,9 +1688,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'MahApps.Metro'"
- },
- "helpUri": "about:blank"
+ "text": "Package MahApps.Metro, [VERSION] does not support the target(s) net7.0-windows but a newer version (2.4.4) does. Package MahApps.Metro needs to be upgraded across major versions (1.6.5 -> 2.4.4) which may introduce breaking changes."
+ }
}
]
}
@@ -1761,6 +1697,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'MahApps.Metro'"
},
@@ -1788,9 +1725,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'Newtonsoft.Json'"
- },
- "helpUri": "about:blank"
+ "text": "Package Newtonsoft.Json, [VERSION] does not support the target(s) net7.0-windows but a newer version (9.0.1) does. Package Newtonsoft.Json needs to be upgraded across major versions (7.0.1 -> 9.0.1) which may introduce breaking changes."
+ }
}
]
}
@@ -1798,6 +1734,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Newtonsoft.Json'"
},
@@ -1825,9 +1762,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'Nito.AsyncEx'"
- },
- "helpUri": "about:blank"
+ "text": "Package Nito.AsyncEx, [VERSION] does not support the target(s) net7.0-windows but a newer version (5.1.0) does. Package Nito.AsyncEx needs to be upgraded across major versions (4.0.1 -> 5.1.0) which may introduce breaking changes."
+ }
}
]
}
@@ -1835,6 +1771,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Nito.AsyncEx'"
},
@@ -1862,9 +1799,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'Microsoft.Windows.Compatibility'"
- },
- "helpUri": "about:blank"
+ "text": "Adding Microsoft.Windows.Compatibility 5.0.2 helps with speeding up the upgrade process for Windows-based APIs"
+ }
}
]
}
@@ -1872,6 +1808,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.Windows.Compatibility'"
},
@@ -1899,9 +1836,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.Data.DataSetExtensions'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.Data.DataSetExtensions needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1909,6 +1845,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.Data.DataSetExtensions'"
},
@@ -1936,9 +1873,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.Configuration.ConfigurationManager'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.Configuration.ConfigurationManager needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1946,6 +1882,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.Configuration.ConfigurationManager'"
},
@@ -1973,9 +1910,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'Newtonsoft.Json'"
- },
- "helpUri": "about:blank"
+ "text": "Package Newtonsoft.Json needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -1983,6 +1919,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'Newtonsoft.Json'"
},
@@ -2012,8 +1949,7 @@
"name": "Microsoft.DotNet.UpgradeAssistant.Extensions.Windows.WinformsDefaultFontUpdater",
"fullDescription": {
"text": "Default Font API Alert"
- },
- "helpUri": "about:blank"
+ }
}
]
}
@@ -2021,6 +1957,7 @@
"results": [
{
"ruleId": "UA209",
+ "level": "note",
"message": {
"text": "Success: Default font in Windows Forms has been changed from Microsoft Sans Serif to Seg Segoe UI, in order to change the default font use the API - Application.SetDefaultFont(Font font). For more details see here - https://devblogs.microsoft.com/dotnet/whats-new-in-windows-forms-in-net-6-0-preview-5/#application-wide-default-font."
},
diff --git a/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/vb/Upgraded/UpgradeReport.sarif b/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/vb/Upgraded/UpgradeReport.sarif
index 77541c404..9e9c39dbe 100644
--- a/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/vb/Upgraded/UpgradeReport.sarif
+++ b/tests/tool/Integration.Tests/IntegrationScenarios/WpfSample/vb/Upgraded/UpgradeReport.sarif
@@ -12,9 +12,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
"fullDescription": {
- "text": "Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
- },
- "helpUri": "about:blank"
+ "text": "Use the try-convert tool (, [VERSION]) to convert the project file to an SDK-style csproj"
+ }
}
]
}
@@ -22,6 +21,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.TryConvertProjectConverterStep",
+ "level": "note",
"message": {
"text": "Complete: Project file converted successfully! The project may require additional changes to build successfully against the new .NET target."
},
@@ -47,11 +47,7 @@
"informationUri": "https://github.com/dotnet/upgrade-assistant#usage",
"rules": [
{
- "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
- "fullDescription": {
- "text": "Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
- },
- "helpUri": "about:blank"
+ "id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"
}
]
}
@@ -59,6 +55,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers'"
},
@@ -86,9 +83,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
"fullDescription": {
- "text": "Updated TFM to net7.0-windows"
- },
- "helpUri": "about:blank"
+ "text": "Update TFM for current project"
+ }
}
]
}
@@ -96,6 +92,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.ProjectFormat.SetTFMStep",
+ "level": "note",
"message": {
"text": "Complete: Updated TFM to net7.0-windows"
},
@@ -123,9 +120,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Add package 'Microsoft.Windows.Compatibility'"
- },
- "helpUri": "about:blank"
+ "text": "Adding Microsoft.Windows.Compatibility 5.0.2 helps with speeding up the upgrade process for Windows-based APIs"
+ }
}
]
}
@@ -133,6 +129,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Add package 'Microsoft.Windows.Compatibility'"
},
@@ -160,9 +157,8 @@
{
"id": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"fullDescription": {
- "text": "Remove package 'System.Data.DataSetExtensions'"
- },
- "helpUri": "about:blank"
+ "text": "Package System.Data.DataSetExtensions needs to be removed as its a transitive dependency that is not required"
+ }
}
]
}
@@ -170,6 +166,7 @@
"results": [
{
"ruleId": "Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep+PackageManipulationStep`1[[Microsoft.DotNet.UpgradeAssistant.NuGetReference, Microsoft.DotNet.UpgradeAssistant.Abstractions, [VERSION], Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
+ "level": "note",
"message": {
"text": "Complete: Remove package 'System.Data.DataSetExtensions'"
},
diff --git a/tests/tool/Integration.Tests/UpgradeRunner.cs b/tests/tool/Integration.Tests/UpgradeRunner.cs
index c4c228a30..1adb5e8ff 100644
--- a/tests/tool/Integration.Tests/UpgradeRunner.cs
+++ b/tests/tool/Integration.Tests/UpgradeRunner.cs
@@ -40,7 +40,7 @@ public async Task UpgradeAsync(string inputPath, string entrypoint, ITestOu
var project = new FileInfo(inputPath);
using var cts = new CancellationTokenSource(maxDuration);
- var options = new TestOptions(project);
+ var options = new IntegrationTestOptions(project);
var status = await Host.CreateDefaultBuilder()
.UseEnvironment(Environments.Development)
.UseUpgradeAssistant(options)
@@ -50,6 +50,7 @@ public async Task UpgradeAsync(string inputPath, string entrypoint, ITestOu
services.AddNonInteractive(options => options.Wait = TimeSpan.Zero, true);
services.AddKnownExtensionOptions(new() { Entrypoints = new[] { entrypoint }, SkipBackup = true });
+ services.AddOptions().Configure(options => options.IsRunningTest = true);
})
.ConfigureContainer(builder =>
{
@@ -75,9 +76,9 @@ public async Task UpgradeAsync(string inputPath, string entrypoint, ITestOu
return status;
}
- private class TestOptions : UpgradeAssistantCommandOptions
+ private class IntegrationTestOptions : UpgradeAssistantCommandOptions
{
- public TestOptions(FileInfo project)
+ public IntegrationTestOptions(FileInfo project)
{
this.Project = project;
this.Verbose = true;