When you build a project with MSBUILD Tools 2017 and getting “MSB4036: The “GetReferenceNearestTargetFrameworkTask” task was not found” error, you probably need to update your MSBUILD Tools components.
Download the latest version of MSBUILD tools from https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017, run it, choose Modify and then select “Web development build tools” and “.NET Core build tools”.
If you are getting error CS8107: Feature ‘default literal’ is not available in C# 7.0. Please use language version 7.1 or greater.
or
error CS8107: Feature ‘leading digit separator’ is not available in C# 7.0. Please use language version 7.2 or greater.
You need to add <LangVersion>7.2</LangVersion>
to your project file(s). Unless you specifically set up your project, Visual Studio 2017 uses the “C# latest major version (default)” option for C# language, which means you can use only up to C# 7.0:
You can either select C# 7.2 explicitly, or by adding <LangVersion>7.2</LangVersion>
to .csproj file manually.
Note that C# 7.2 is not supported with the vanilla version of Visual Studio 2017. When it was released, Visual Studio 2017 only supports C# 7.0. Supports for C# 7.1, and later, 7.2, were introduced in later updates: 15.3 and 15.4, respectively. At this time of this update, 15.6.1 is available and I personally recommend to upgrade to latest version possible.
Make sure to add it to both debug and release configuration. It’s likely that you will run your server builds on release.
Thanks for this, save my day!
Unfortunately, didn’t help. Even after adding 7.2 to release I still can’t publish Web Application. Interesting note – that Console application doesn’t have this problem!
@Felix: which error were you getting?
Looks like just installing NuGet solves this stupid issue.
Following https://stackoverflow.com/questions/47797510/the-getreferencenearesttargetframeworktask-task-was-not-found .
Related interesting reading @ https://developercommunity.visualstudio.com/content/problem/137779/the-getreferencenearesttargetframeworktask-task-wa.html .
Didn’t work… My solution builds perfect on my Visual Studio 2017 but on my BuildAgent it always show the “GetReferenceNearestTargetFrameworkTask” task was not found … error. I did install all the tools from vs_build tools… I actually need an offline installer… but that part did work, but did not solve the problem
Thank you so much. I was stuck for 3 days in that error. My code finally worked