Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add property "MSBuildVersion" for evaluating projects with net6.0+ installed #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Jan 11, 2023

Conversation

hwthomas
Copy link
Collaborator

This fixes failures when reserved property $(MSBuildVersion) cannot be found. See Issue #95

When reading in any netcoreapp project, with dotnet-sdk-6.0+ installed, a reserved property "MSBuildVersion" is evaluated to compare with "16.0" or "17.0". This is currently not in the project properties, and as a result throws an exception. Adding this property, and setting it to the final Mono "MSBuildVersion" (16.0), fixes this for now, and gets rid of the exceptions.

Note that this value is not 'dynamic', as it doesn't read the actual version of the current MSBuild.

However, it does remove a lot of the 'noise' when running DotDevelop, which allows other faults to be investigated.

 and update MSBuildEvaluationContext.cs accordingly

    IntrinsicFunctions are now loaded at runtime from the current version
    of Microsoft.Build.dll, as identified by the active runtime.

    The old IntrinsicFunctions test is no longer meaningful and has been removed

    This fixes Issue dotdevelop#75 so that all project properties are now evaluated correctly.
….4 or greater

or for DotNetCore (runtime) versions 3.x or greater (ie includes .net5.0+)

    previously only netstandard2.0 was supported for mono 5.2 AND netcore3.0 installed
…DotnetCore.addin.xml

and MonoDevelop.ASpNetCore.addin.xml to allow net5.0 and net6.0 projects to be created

These template updates  were overlooked in the menu limit changes in PR#76
1 - use 'git submodule deinit main/external/nuget-binary' to remove submodule from .git/config
2 - use 'git rm main/external/nuget-binary' to remove submodule from work tree
This commit updates all NuGet dll binaries to release-5.8
ready to support .net5.0 projects

Note that the main/external/nuget-binary folder (and all its contents)
are no longer a submodule in the DotDevelop repo, but just a normal folder
under the control of the main DotDevelop git repo.
NuGet.Client release-5.8.x (and later) is able to handle .net5.0 projects
To allow DotDevelop to build with this release of Nuget a number of small changes
are needed to the DotDevelop PackageManagement files because the interface to
NuGet changed after release-5.4.0 (which DotDevelop currently builds with)

The commits in this 'net5ff_nuget' branch also remove 'nuget-binary' from being
an external submodule within the DotDevelop repo, since 'nuget-binary' has not
been updated since MonoDevelop was archived. Instead, the folder with the NuGet dlls
is now a simple folder under DotDevelop's version control. This simplifies updating
NuGet to later releases, which will be required to handle .net6.0+ frameworks.

With these commits, net5.0 projects can be created, saved, etc, which effectively fixes
Issue dotdevelop#79 (project.assets.json gets a wrong TargetFrameworkMoniker for net5 and higher)
Use hwt-dev as development branch
Add first PR to dotdevelop
  Incorporate changes in PR#81 from @gluckez to fix conflicts
Include updates to make CI builds more reliable
@hwthomas hwthomas requested a review from lytico December 14, 2022 12:05
…nstalled

    This fixes failures when reserved property $(MSBuildVersion) cannot be found
    See Issue dotdevelop dotdevelop#95
@gluckez
Copy link
Collaborator

gluckez commented Dec 16, 2022

@hwthomas You've been busy xD a lot of open pr's, great work. I suggest we merge this one, because it also includes the commits from all other pr's. With all these open pr's adding new ones not based on those could cause a lot of merge conflicts, and it might be best to start working on new things with a clean slate.
wdyt @lytico ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants