Comments (21)
Just released all packages with the upgrade to netstandard2.0 and net461. Enjoy!
from giraffe.
Looks like aspnetcore 2.0.0 was released on nuget.
I assume the cli tools will be released soon as well.
Looks like there might be a bit of time between the core 2.0 change and giraffe getting updated. There are quite a few dependencies that will need to hit 2.0 (FSharp.Core, FSharp.NET.Sdk) according to the compatibility matrix found here.
The way I interpret the matrix (though I could be wrong) is that all dependencies will need to be netstandard 2.0 compatible for a project to itself be 2.0 compatible.
from giraffe.
Yeah it's pretty exciting. I made sure to install it before starting on any of the porting work. I've got the partial working solution in the copy project repo I made. It's stripped down to only the necessary bits to get giraffe working on dotnet core, but doesn't include any of the CI or net461 parts. I'll look at it a bit more today.
from giraffe.
Yeah I pulled down the repo and just started shoving 2.0 dependencies at it. The first thing I noticed was an f# compiler error, which is when I stopped. I think that will be the only thing that will need to be waited on.
Aspnet stuff -> 2.0
System stuff -> 2.0
Json -> not yet
though i'm not sure how much these matter
Since 2.0 is a superset with no breaking changes I feel like it should be attemptable.
Every time I think I understand this stuff I look into it and something like "we don't need to do semver because we feel it's a big change" happens.
Anyhoo, If I have some time I'll look into the F# issue (it was an error about multiple imports of System.Runtime
on compilation) and see if I can't sort it out.
from giraffe.
So I've got everything working targeting netstandard2.0/netcore2.0 here except for the samples.
The SampleApp
has the following error:
And the IdentityApp has errors to do with wherever all the identity stuff got moved to, but it shouldn't be too much work to translate it over.
I don't know if I'll be able to actually get to that stuff this weekend (just got booked for meetings, and then will be away from the computer), but I've checked in 90% of what needs to be done in my repo.
Let me know if you'd like that PR'd into a netcore2.0 branch or something where the last 10% can be finished up.
from giraffe.
Hi, Yes I definitely plan to support .NET Core 2.0, but I haven't had time to play with preview 2 yet. From previous experience I thought it might be better to wait for the final RTM, because they often changed quite a few bits very last minute and I don't want to migrate the library multiple times, but if the support for .NET Core preview 2 is much desired then I can definitely work on it and release pre-release of Giraffe on that version too.
from giraffe.
Good to hear it, @dustinmoris! Awesome job.
I'll be watching your progress.
I'm very excited about .NET Core 2.0, seems they improved a lot and fixed annoying bugs (which I suffer on some cases, like the wrong f# templates for console apps and others things). Another thing I expect is, but I don't have sure, If they will release support for Linux x86.
from giraffe.
Thanks, weird I didn't see any official announcements of ASP.NET Core 2.0 yet, but you're right... it's been out for 3 days now! I actually also didn't think that netstandard2.0 is a new netstandard rather then a continuation of the previous one. This breaks the whole concept of netstandard, that when you target a lower version it will always work on a platform which supports a higher version. I am really confused... I don't understand why adding more APIs to netstandard2.0 stops compatibility with the old standards... anyway... given that this is the case I will indeed have to wait for all other dependencies to update first.
from giraffe.
nice... let me know how you get on with it and if you want me to help with something, otherwise I'll just wait for the PR :D
from giraffe.
So I got the projects building with these changes, but am running into all sorts of weird nuget-type errors.
I was at it for a while and got down pretty far the nuget/netcore rabbit hole.
Decided to take a step back and see if everything worked minimally.
I made a copy project with minimal dependencies to see if it would work. It seems to work, but this is just targeting netcore and I only tested the simple application (which uses some giraffe features like XmlViewEngine, Middleware, and HttpHandlers).
Somewhere between these two repos is the answer lol.
Figured I'd put the information here for reference.
from giraffe.
FYI, .NET Core 2.0 was released two days ago!
from giraffe.
Got passed all the weird runtime issues. Everything is building and tests are passing. I just need to fix up the samples and I should have a PR in today.
from giraffe.
error NU1202: Package Microsoft.AspNetCore 2.0.0 is not compatible with net46
I've got everything tested under netstandard2.0
Not sure if everything will work with the net46 dependency
@dustinmoris thoughts?
Some info:
dotnet/aspnetcore#2022
https://github.com/dotnet/standard/blob/master/docs/versions.md
from giraffe.
Additionally, I don't think I'll be able to test 461 (which should be compatible if you want to bump it) on my mac. It could be set up in docker, but I don't think I have the time to set that up at the moment.
from giraffe.
Hi I just created a netstandard20 branch. Feel free to submit the PR and I will merge it in there and finish the last 10% :)
from giraffe.
Any easy way to consume it for now?
from giraffe.
Hi @NinoFloris I aim to work on the 2.0 branch this weekend and hopefully have a new pre-release package ready by then which you can consume. I'll keep you posted here...
from giraffe.
Hey, I am going through your changes and targeting 461 all works too, so might have a new release ready tonight or tomorrow. There's one thing though which I am surprised and I would like to understand better. How come all the projects build now without FSharp.Core
and FSharp.NET.Sdk
??
from giraffe.
from giraffe.
Nice, that's great, thanks!
from giraffe.
🎉
from giraffe.
Related Issues (20)
- Sample `EndpointRoutingApp` structure is weird HOT 1
- NullReferenceException in requiresAuthentication funciton HOT 1
- Run tests on CI HOT 2
- Add output caching middleware after migrating to .NET 7 HOT 2
- Add output cache for `VaryByValue`
- Migrate to System.Text.Json HOT 1
- Participate on hacktoberfest 2023? HOT 1
- Never decalre reader with `use` on `ctx.Request.Body` HOT 4
- Upgrade to .NET 8 HOT 6
- LinkGenerator doesn't work with routef HOT 1
- Giraffe 6.2 is breaks against Microsoft.IO.RecyclableMemoryStream 3.0.0 HOT 11
- Returning streams, either with WriteStreamAsync or WriteFileStreamAsync or their handler equivalents, is extremely slow HOT 4
- Question: How to approach outside in testing of a micro service? HOT 2
- Guid pattern in endpoint router matches invalid values, throws System.FormatException HOT 4
- Follow-up from "Minor code optimisation #567"
- Update SECURITY.md
- Start using fantomas to validate code submissions with CI HOT 6
- [README] Suggestion for "Getting Started"'s "Doing it manually" HOT 2
- [question] Would it be possible to make `Giraffe.EndpointRouting` case-sensitive? HOT 3
- Remove NuGet API key from the repository HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from giraffe.