question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Is there any (rough) timeframe on MSBUILD15, NuGet4 and Visual Studio 2017

See original GitHub issue

Our Scenario:

I have upgraded one of our hybrid solution from XPROJ+CSPROJ based projects to VS2017 compatible (new-CSPROJ + old-CSPROJ) based infrastructure. That requires MSBuild v15.0, Nuget v4.0 and some Visual Studio 2017 to be present on the build machine. As we have auto deployment from source control, we are blocked to exercise it in production due to these missing tools in App Service instances and continuing to rely on outdated dotnet-cli v1.0.0-preview2-xxx (x64).

Background:

Usually, people are either using solutions (SLN) comprised of “all” .NET Core projects (e.g. new CSPROJ) or “all” .NET Framework (old CSPROJ) based projects. The former is built either by dotnet-cli or MSBuild 15. Whereas, the latter one is built only by Visual Studio <many versions> (MSBuild 14, 15 etc.).

Then there are Hybrid or Mixed solutions, which use either both old and new CSPROJs added to SLN or all new CSPROJs that are targeting .NET Framework 4.6 for example. These kind of solutions are only buildable by Visual Studio 2017 (MSBuild 15 and NuGet4.0).

In a nutshell; the Roslyn project system, that is based on the Visual Studio 2017’s Common Project System (CPS), is built on top of the .NET SDK that supports multiple Target Framework Monikers (TFM). Which means in the new kind of CSPROJ file, we can specify the <TargetFrameworks> (plural) member with multiple values (not limited to those of .NET Standard and .NET Core, but also) Xamarin and Full .NET Framework etc. as well. So the use-cases can be beyond the hybrid SLN.

Problem:

dotnet-cli commands (dotnet-restore, dotnet-build etc.) only function on .NET Core TFMs (netcoreapp1.0 netstandard1.6 etc.), but not Full Framework monikers net45x, net46x.

The only toolset that support the RPS->CPS or Hybrid / Mixed solution workflow is: MSBuild15, NuGet4.0 and potentially some other components which gets installed with VS2017.

Question:

Can we get any estimated timeframe (quarter / year) by which these tools would be available in Azure App Service instances?

Thanks for your continuous support! 🎉

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:6
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

4reactions
watashiSHUNcommented, Jun 21, 2017

@am11 @ebashmakov @ctaggart we actually have msbuild15.3 preview in Azure, but it is not turned on by default. you can see its location in kudu console:

D:\home>set msbuild
MSBUILD_15_DIR=D:\Program Files (x86)\MSBuild-15.3-preview\MSBuild\15.0\Bin
MSBUILD_PATH=D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

to use it you will need to have a custom deployment script with at least these two modification:

  1. pass the msbuild15.3 directory to nuget (nuget4 has dependency on it): nuget.exe restore "{your .sln file path}" -MSBuildPath "%MSBUILD_15_DIR%"
  2. use msbuild15.3 to build and publish: "%MSBUILD_15_DIR%\MSBuild.exe {your build arguments}"

here is an example

1reaction
ctaggartcommented, Mar 23, 2017

Well explained! I’d really like to see MSBuild15 available too. #2350 Add “Build Tools for Visual Studio 2017” to Azure App Service asks for this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Cross-targeting frameworks with NuGet 4.0 and Visual ...
I am having a rough time figuring out how to setup cross-targeting inside a Visual Studio 2017 project and I have not been...
Read more >
Visual Studio 2017 15.9 Release Notes
Support Timeframe. Visual Studio 2017 version 15.9 is the final supported servicing baseline for Visual Studio 2017 and has entered the extended support...
Read more >
What's New in MSBuild 15
MSBuild is now installed in a folder under each version of Visual Studio. For example, C:\Program Files (x86)\Microsoft Visual ...
Read more >
Introducing Central Package Management - The NuGet Blog
Starting with NuGet 6.2, you can centrally manage your dependencies in your projects with the addition of a Directory. Packages. props file.
Read more >
Visual Studio 2017 15.7 Release Notes
To download the latest release, please visit the Visual Studio site. Support Timeframe. This version is now out of support. For more information ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found