Nancy: Move to .Net Core 1.1 and migrate project.json to csproj

Created on 16 Nov 2016  ·  7Comments  ·  Source: NancyFx/Nancy

.Net Core 1.1 was released on Nov 16th 2016 which brings general bug fixes and improvements. The only place changes are required for this is the Kestrel sample, it will need to target netcoreapp1.1 and Microsoft.NETCore.App 1.1.0

.Net Core alpha tools were also released on the same day that contains tools to migrate projects that use project.json back to csproj format via dotnet migrate.

More info here - https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-tools-msbuild-alpha/#visual-studio-code

I assume we will remove all MSBuild folders that have packages.config and csproj files in them seeing this will bring csproj back? I assume once csproj is back and the project targets 4.5.2 or netstandard1.6 the developer/contributor can compile our stuff on VS2015 with no extra tooling required?

Below is a list of projects that will need moving across (add a checkmark and link to PR when complete):

  • [ ] Nancy.Authentication.Basic/
  • [ ] Nancy.Authentication.Forms/
  • [ ] Nancy.Authentication.Stateless/
  • [ ] Nancy.Embedded/
  • [ ] Nancy.Encryption.MachineKey/
  • [ ] Nancy.Hosting.Aspnet/
  • [ ] Nancy.Hosting.Self/
  • [ ] Nancy.Metadata.Modules/
  • [ ] Nancy.Owin/
  • [ ] Nancy.Testing/
  • [ ] Nancy.Validation.DataAnnotations/
  • [ ] Nancy.Validation.FluentValidation/
  • [ ] Nancy.ViewEngines.DotLiquid/
  • [ ] Nancy.ViewEngines.Markdown/
  • [ ] Nancy.ViewEngines.Nustache/
  • [ ] Nancy.ViewEngines.Razor.BuildProviders/
  • [ ] Nancy.ViewEngines.Razor/
  • [ ] Nancy.ViewEngines.Spark/
  • [ ] Nancy/

  • [ ] Nancy.Authentication.Basic.Tests/

  • [ ] Nancy.Authentication.Forms.Tests/
  • [ ] Nancy.Embedded.Tests/
  • [ ] Nancy.Encryption.MachineKey.Tests/
  • [ ] Nancy.Hosting.Aspnet.Tests/
  • [ ] Nancy.Hosting.Self.Tests/
  • [ ] Nancy.Metadata.Modules.Tests/
  • [ ] Nancy.Owin.Tests/
  • [ ] Nancy.Testing.Tests/
  • [ ] Nancy.Tests.Functional/
  • [ ] Nancy.Tests/
  • [ ] Nancy.Validation.DataAnnotatioins.Tests/
  • [ ] Nancy.Validation.FluentValidation.Tests/
  • [ ] Nancy.ViewEngines.DotLiquid.Tests/
  • [ ] Nancy.ViewEngines.Markdown.Tests/
  • [ ] Nancy.ViewEngines.Razor.Tests.Models/
  • [ ] Nancy.ViewEngines.Razor.Tests/
  • [ ] Nancy.ViewEngines.Spark.Tests/

  • [ ] Nancy.Demo.Hosting.Kestrel/

Epic

Most helpful comment

We will probably target .NET Standard 2.0 when that comes out, but that doesn't mean we shouldn't test against .NET Core.

Remember; .NET Standard is only a _specification_ that you compile against. This doesn't necessarily mean that you can _run_ (without bugs) on all the implementing platforms. .NET Core is one of those platforms, but so is .NET Framework and Mono as well. These provide the actual _implementation_ at runtime. This means that we should probably run our tests on these platforms to make sure we actually run, not just compile against the standard.

All 7 comments

Currently if you migrate a project using dotnet migrate you can not build it with VS2015 (yet?).

https://twitter.com/davkean/status/799400509564035072

On Thu, 17 Nov 2016 at 22:25, Jos van der Til [email protected]
wrote:

Currently if you migrate a project using dotnet migrate you can not build
it with VS2015 (yet?).


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NancyFx/Nancy/issues/2621#issuecomment-261389526, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGaplWRcllTEAJFrMZ8NTTpnsxKmnPrks5q_NRrgaJpZM4K0btY
.

So they're happy to keep loading baggage after baggage onto .net core that nobody other than enterprises, who aren't going to use it anyway, needs; but adding backwards compatibility for a project format that would, you know, actually be useful, is a no go.

Awesome.

Good innit!

On Fri, 18 Nov 2016 at 08:23, Steven Robbins [email protected]
wrote:

So they're happy to keep loading baggage after baggage onto .net core that
nobody other than enterprises, who aren't going to use it anyway, needs;
but adding backwards compatibility for a project format that would, you
know, actually be useful, is a no go.

Awesome.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NancyFx/Nancy/issues/2621#issuecomment-261474607, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGapiQmH694ZegeUa0r7AVKVVnxsKKyks5q_WB3gaJpZM4K0btY
.

At this point I would just wait for the imminent .NET Standard 2.0 release and skip .NET Core 1.1 altogether.

It's pretty amazing that it's taken Microsoft this long since the original announcement of .NET Core to get their act together. In my opinion, .NET Standard 2.0 + VS 2017 will be the _real_ "version 1" of .NET Standard/Core.

We will probably target .NET Standard 2.0 when that comes out, but that doesn't mean we shouldn't test against .NET Core.

Remember; .NET Standard is only a _specification_ that you compile against. This doesn't necessarily mean that you can _run_ (without bugs) on all the implementing platforms. .NET Core is one of those platforms, but so is .NET Framework and Mono as well. These provide the actual _implementation_ at runtime. This means that we should probably run our tests on these platforms to make sure we actually run, not just compile against the standard.

Done as part of #2720

Was this page helpful?
0 / 5 - 0 ratings

Related issues

thecodejunkie picture thecodejunkie  ·  8Comments

epsitec picture epsitec  ·  5Comments

mylemans picture mylemans  ·  9Comments

juniormayhe picture juniormayhe  ·  4Comments

jchannon picture jchannon  ·  9Comments