Skip to content

List of Breaking/Planned changes for MSBuild.Locator v2.0 #282

@YuliiaKovalova

Description

@YuliiaKovalova
  1. Remove extra property AllowQueryAllRuntimeVersions. AllowAllRuntimeVersions from VisualStudioInstanceQueryOptions.cs means the same, but can't clean up immediately due to backward compatibility.
  2. There is a request to add a warning message about the possible compatibility issues - sometimes MSBuild that is being loaded is just too old to have modern things. Add warning message about the used MSBuild version #272 & Identify architecture of found MSBuild #130
    Change API to...
class MSBuildLocationResult
{
  public bool IsCompatibleWithCurrentRuntime;
  public MSBuildLocatorWarning[] Warnings;
  public string RootPath;
  public MSBuildDiscoveryType Context;

  public Version Version;
  public Architecture Architecture; 


  public void Register() {}
}
  1. Project targeting .NET 6 cannot use Microsoft.Build 17.4.0 nuget package. dotnet/msbuild#8166 - compatibility warning
  2. Add some guardrails to MSBuild Locator #254 - can be also a part of compatibility warning section
  3. Can we avoid binding redirects since Locator controls binding? #83 - find the way to implement this
  4. Add handling for the case described here: [Bug]: Project object can no longer be created if the change wave 17.10 is in use. dotnet/msbuild#9869 (comment)
  5. Handle the case for the versions clash: [Bug]: No way to load NuGet.Frameworks into Default ALC dotnet/msbuild#10228
  6. Improve the error message for sdk resolution: Improve error message "Failed to find all versions of .NET Core MSBuild. Call to hostfxr_resolve_sdk2. There may be more details in stderr" #331

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions