19 ms·
Announcing .NET Core and ASP.NET 5 RC
- kamac 11y agoGreat. I was looking forward to a good alternative with decent syntax to PHP, and now that ASP.NET can run on linux, there's nothing that stops people from using it over PHP. Honestly I wonder what reason would one have to choose PHP over ASP.NET for their apps in a few months / years time.
- mrspeaker 11y agoSame reason people choose PHP over Ruby on Rails, Node.js, Compojure, Yesod, or the billion of other choices available today: because so many small business have their hosting via super-cheap linux boxes that you only get FTP access to.
- jakejake 11y agoCheap hosting and PHP do go well together, but when you work at a company that has a lot of stuff written in one language, and the whole team is experienced with that same language, there needs to be a legitimate reason to change the whole technology stack. Because it's "cool" or not is generally not a good enough reason - unless it gets to the point where it isn't supported anymore, you can't find employees, the community has dried up, there's nothing new happening with the language, etc. But PHP, despite the problems it does have, it suffers from none of those things. So I don't see a mass exodus happening any time soon.
- jordz 11y agoCompletely agree. It's very exciting, and extremely cool but in terms of a business decision for larger technology teams, it will very much be like node.js, it's a similar thing, runs on cheap linux boxes and can do everything PHP can but it's taken time for companies to get it in where it "fits"
- untog 11y agoYou could say the same about PHP vs Ruby, and would have been able to for a long time. Yet, people still use PHP. I suspect stuff like Wordpress has a big influence on that.
- blinkingled 11y agoMicrosoft is on a roll - they've got command line installable packages of the .NET execution environment for all 3 platforms - OSX, Linux and Windows! (http://get.asp.net/OtherDownloads http://get.asp.net/OtherDownloads) Can't wait to figure out what you can do with this on Linux. Anyone knows? Maybe not desktop apps but Web Apps should be doable at this stage?
- WhitneyLand 11y agoThink of how things could have been if this were done since ASP.NET v1...
- SideburnsOfDoom 11y agoDifferent eras, different revenue sources, different incentives. In the days of ASP.NET v1, MS made money from server licences to run IIS and ASP. These days they want to make money from Azure, and they make money regardless of if it's hosting .Net, PHP, Java or node.js; or on linux or windows. The .Net open stack becomes a loss leader. Ironically, it's also going to greatly improve .Net on AWS.
- swalsh 11y agoThe last time I checked out Azure there were no shortage of ways to get locked into their ecosystem. My favorite though is this guy https://azure.microsoft.com/en-us/documentation/services/machine-learning/ https://azure.microsoft.com/en-us/documentation/services/mac...
- mrspeaker 11y agoYeah, I was thinking this too... that's when I was a .NET developer. Then the alt.net train started and (ironically?) lead me to discover the world outside the .NET and windows ecosystem. If things were more cross-platform back at the time I probably would have stuck around.
- mattmanser 11y ago@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{iex ((new-object net.webclient).DownloadString('https://dist.asp.net/dnvm/dnvminstall.ps1'))}" Hmmmmmmmm. Technically they do. Can't tell if this is a joke...
- speedkills 11y agoI hope this means we are a little closer to powershell for OS X and Linux.
- stoolpigeon 11y agoI'm pretty happy with bash - what does powershell do that makes you want it over the shells already available to nix platforms? I've never used it much and assumed it was an MS attempt to gain something like what the other shells already had.
- bkeroack 11y agoOff the top of my head: native hashmaps. Native JSON marshalling/unmarshalling. Native HTTP calls. Control structures that don't suck (ie, bash doesn't even support variable comparison natively). Probably lots more I'm forgetting.
- barrkel 11y ago`test` (aka [) is a bash builtin, FWIW; integer comparison works perfectly well inside (( )). I generally prefer bash for job control and pipe parallelism. For more complex tasks that would require a hash, internet access complex parsing etc., I tend to write a script in a different language, and plug it into a pipeline with bash. The lack of parallelism in PS is the second biggest reason I don't use it. The single biggest reason is bash is my common interface across Linux, Windows (cygwin), OS X and Solaris (when I used to run it).
- bkeroack 11y ago> The lack of parallelism in PS is the second biggest reason I don't use it. I've done parallelism in PS, it's not difficult[1][2]. IIRC there were some gotchas, but it's certainly possible. > For more complex tasks that would require a hash, internet access complex parsing etc., I tend to write a script in a different language, and plug it into a pipeline with bash Right, you have no other choice in bash. Powershell lets you do all that within the language itself trivially. 1. https://technet.microsoft.com/en-us/library/hh849693.aspx https://technet.microsoft.com/en-us/library/hh849693.aspx 2. https://technet.microsoft.com/en-us/library/hh849718.aspx https://technet.microsoft.com/en-us/library/hh849718.aspx
- SideburnsOfDoom 11y agoThis is also a Release Candidate of the ASP.NET web framework. edit Actually, the ASP MVC part has also progressed to RC1 as you can see here: https://github.com/aspnet/Mvc/releases https://github.com/aspnet/Mvc/releases Confusingly, the next release is ASP Version 5 and ASP MVC version 6. Also important: "supported on Windows, OS X and Linux"
- runfaster2000 11y agoMVC is also RC. See: https://github.com/aspnet/Home/releases/tag/v1.0.0-rc1 https://github.com/aspnet/Home/releases/tag/v1.0.0-rc1
- SideburnsOfDoom 11y agoYou are right, and I have updated the parent post.
- gregmac 11y agoASP.NET Version 5, ASP.NET MVC version 6, which run on either .NET Framework 4.6, or .NET Core 1.0. This from the company that thinks 8 + 1 = 8.1, and 8.1 + 1 = 10. Microsoft is doing some very cool stuff with .NET right now, but they are still probably among the worst in the industry at version numbers.
- frik 11y ago> MaxPath Oh, Microsoft finally woke up and supports path longer than 260 chars in dotNetCore. So, the questions when will Microsoft WinAPI & and the Windows Shell/Explorer too? Will we probably have for Windows 11...
- newjersey 11y agoI don't see why it would need to wait for a rebranding. As far as I know it could just be the 2016 fall update to Windows 10...
- purplerabbit 11y agoWhat are the uses for this besides npm < 3.0? I'm super curious, the 260 limit seems like a huge flaw but in my interweb travels I haven't seen it mentioned anywhere else
- edgyswingset 11y agoI've run into this problem using TFS on Windows before. Combination of folders within folders and a deep source tree would force me to abbreviate in file names and pull the source directly into C:\ rather than a preferred place.
- kej 11y agoYou can also work around it by using the subst command to map a drive part way down the tree, and then switch to that drive.
- runfaster2000 11y agoWe are making .NET Core OS agnostic as a general principle. The 260 char limit seems like an unwelcome Windows behavior to include in the Linux and OS X implementation. With that removed, it makes sense to also remove it from Windows. That was our thinking. We do hear about this limitations on Windows somewhat frequently in the context of .NET. This comes from internal Microsoft teams about as much as anyone else. We were glad to remove this limitation for .NET Core. Disclosure: .NET Team member
- deleted 11y ago[deleted]
- hitgeek 11y agoShould .Net Core be considered a competitor to Mono? Why would someone use Mono when they can use a multi-platform .Net RT straight from Microsoft?
- jeffesp 11y ago.Net Core does not have the same API coverage as Mono. So some things are available, while others are not. (I think) Mono is integrating things from the open source parts of .Net, but you still have areas where you might be using something that isn't available in Core but is with Mono (non-win) or the full framework (on windows).
- runfaster2000 11y agoNot a competitor. We work closely with the Mono team, specifically Miguel. We are releasing lots of source for them with each .NET Framework release. The Mono team is adopting large quantities of that source to improve Mono. It's a collaboration. Certainly, there are now two .NET choices on Linux. If you ask Miguel, I suspect he'd recommend .NET Core if you are building a server app. Disclosure: .NET Core team member
- eatonphil 11y agoI got confused when trying to install .NET Core, so sorry if this is a bad question. It seemed like .NET Core depended on Mono. Does it actually? I can't remember what exactly seemed like it depended on Mono. Perhaps Nuget? My memory is fuzzy. Either way, these two docs [0,1] (not just those particular pages) could really use some clarifications. I had trouble working my way through either of them and they seemed to be giving conflicting information at times. Granted, I have no significant experience with .NET or Mono. I was able to install Mono once on Ubuntu. But I gave up after trying to install .NET Core on Ubuntu (and FreeBSD) more recently - a week ago. Sorry, I can't provide more substantial criticism right now. I guess the forums[2] would be the best place to bring these issues up in the future (with more information)? [0] http://dotnet.readthedocs.org/en/latest/getting-started/installing-core-linux.html http://dotnet.readthedocs.org/en/latest/getting-started/inst... [1] https://dotnet.github.io/getting-started/ https://dotnet.github.io/getting-started/ [2] http://forums.dotnetfoundation.org/ http://forums.dotnetfoundation.org/
- StriverGuy 11y agoThis is really exciting!
- euroclydon 11y agoSigh. Different release. Different error trying to get the hello world application running on a mac. One day...
- Locke1689 11y agoDid you try https://dotnet.github.io/getting-started/ https://dotnet.github.io/getting-started/? Can I help with getting it running?
- euroclydon 11y agoI did that the other day, on beta8 or whatever. In that case, I could run a console app. Then I tried the Yeoman setup [1] for a simple website without auth. It failed to run. Today, I uninstalled mono, previous dmx stuff, and ran the package linked in this story. Same result. Yeoman website failed. It's failing to resolve the fx dependencies. Also, it's difficult for me to understand if I need mono or not. I have it. [1] https://docs.asp.net/en/latest/tutorials/your-first-mac-aspnet.html https://docs.asp.net/en/latest/tutorials/your-first-mac-aspn...
- Locke1689 11y agoAh, sorry, I know nothing about Yeoman -- I'm only familiar with console applications :)
- soccerdave 11y agoI followed the steps here. Do you happen to know how to build the command-line app in to an executable? I was able to run it with 'dnx run', but not sure how to build it
- edgyswingset 11y agoYou have to use dnu. To restore packages: $ dnu restore To build: $ dnu build To run: $ dnx run To run some other command: $ dnx <COMMAND_HERE>
- sdevlin 11y agoIs MVC the default ASP.NET workflow now? Is it the only workflow? Are Web Forms still supported?
- runfaster2000 11y agoMVC is the default for ASP.NET 5, for both apps and services. It runs on both .NET Core and .NET Framework. Same with SignalR. WebForms remains supported and new features go into it each release. It is supported on the .NET Framework. Disclosure: .NET Core team member
- sdevlin 11y agoThanks!
- it_learnses 11y agocan we please have a fully functional bash on windows?
- nikon 11y agoWhile looking around I thought it was cool that Microsoft developers are directly helping popular libraries become compatible with the new .NET Core. https://github.com/castleproject/Core/issues/90 https://github.com/castleproject/Core/issues/90 https://github.com/nunit/nunit/issues/575 https://github.com/nunit/nunit/issues/575
- ghrifter 11y agoFor hosting an MVC 5 app is Azure the way to go?
- ripberge 11y agoHaving found using Azure websites to be incredibly easy to deploy and scale .NET MVC apps. Fully integrated with Git.
- jongalloway2 11y agoIt's confusing, but ASP.NET 5 ships with ASP.NET MVC 6. ASP.NET MVC 5 was released in October, 2013. I'm assuming you meant ASP.NET 5 / ASP.NET MVC 6 since that's what was announced today. There's a good chance you know this, but since some people reading this thread might not I figured I'd give some more detail. It's definitely in Microsoft's interest to make Azure a great place to host your ASP.NET applications. The team that builds ASP.NET is part of the Azure group, and that's what pays the bills. (disclaimer: Microsoft employee, Azure fan) However, ASP.NET 5 has been built to run great on your own web server. In addition to IIS on Windows, ASP.NET 5 has a cross platform, open source web server named Kestrel that runs on Windows, Mac and Linux: https://github.com/aspnet/KestrelHttpServer/ https://github.com/aspnet/KestrelHttpServer/ The team's working really hard to make sure that ASP.NET 5 not only runs cross platform, but that it works well and runs really fast cross-platform: https://github.com/aspnet/benchmarks/blob/master/README.md https://github.com/aspnet/benchmarks/blob/master/README.md
- yodon 11y agoThis would be a lot more exciting if it actually worked with IIS but it looks like they rushed this out, calling it a "release candidate" in order to be able to say it was out in time for the Connect conference without actually hitting the kind of bar one expects from a release candidate. Their github issue pages are full of unresolved issues around problems with ASP.NET 5 and IIS [0][1][2], and the official docs on publishing ASP.NET 5 to IIS have a significant and incomplete list of "common errors" people are encountering [3]. Personally, I'm seeing responses from Kestrel when hitting ASP.NET 5 hosted pages under IIS, but they are zero-byte error 404 responses which don't help much. It's all great in Visual Studio but it's a big zero when trying to actually use it for real. This is not a release candidate. At best it's a 9th beta. [0] https://github.com/aspnet/IISIntegration/issues/14 https://github.com/aspnet/IISIntegration/issues/14 [1] https://github.com/aspnet/Hosting/issues/466 https://github.com/aspnet/Hosting/issues/466 [2] https://github.com/aspnet/Hosting/issues/364 https://github.com/aspnet/Hosting/issues/364 [3] https://docs.asp.net/en/latest/publishing/iis.html https://docs.asp.net/en/latest/publishing/iis.html
- voltagex_ 11y agoYeah, I've got a minor issue with the Configuration classes and they were already talking about RC2 a little while ago [1]. I don't think we can fault them too much for this - we've all been on those kinds of schedules. 1: https://github.com/aspnet/Configuration/issues/335 https://github.com/aspnet/Configuration/issues/335
- yodon 11y agoFollowing your link led me to discover your https://github.com/voltagex/minecraft-rebridge https://github.com/voltagex/minecraft-rebridge, which looks very cool. Would it be difficult to configure the embedded http server to support persistent TCP connections for lower latency between subsequent requests? (I think NanoHTTPD supports persistent connections but I've never used it so don't know what's involved)
- voltagex_ 11y agoThanks, get in touch with me so we don't derail the thread. You don't have any contact details in your profile.
- shortstuffsushi 11y agoAs someone who has avoided Microsoft in the past, I've found myself in a position to write a few projects lately on the C# .NET platform, and actually find myself eager to have this available on OS X. I actually enjoyed a lot of features of Visual Studio specifically (I realize this isn't coming yet), but the platform itself really just feels pretty nice and natural.
- benmorris 11y agoExciting to see the rc released. I've been waiting up until this point to really dive into a project. One of the things that will be a huge barrier for me though is the lack of system.drawing. I've worked in the sign and graphics industry for 8 years and a lot of software I have written relies on system.drawing. The font rendering is crucial. It appears the only feasible option is the mono implementation.(and maybe that is good enough) Looking ahead I'm curious if there will ever be aa coreclr replacement for this? It seems Microsoft closed the open issue regarding this. https://github.com/dotnet/corefx/issues/2020#event-360344181 https://github.com/dotnet/corefx/issues/2020#event-360344181
- deleted 11y ago[deleted]
- akx 11y ago> For the most part, we have transitioned our focus to performance, reliability and overal quality. I giggled at that, I admit.
- BuckRogers 11y agoI've been eagerly keeping a close eye on .Net Core. Congratulations to the teams that have been working on this! It's long overdue and I can assure you many others are keenly interested in this. For myself, mainly because as primarily a Python programmer I've been looking for where to move next with the 2/3 split. I've migrated completely to PyPy4 (which is Python2.7) rather than port/test to CPython3 in the last few years. It was worth the migration and testing that was involved. I'm waiting to see if PyPy will announce they are the flag bearers for Python2. If so, I'll most likely continue using it going forward. On the other hand we use .Net and Python at work so while most people would not agree or find .Net Core to be a bit pointless, for me it means I can move my projects and small business to run on my underpowered VPS, utilizing the same well-supported tech stack that many enterprises use. Keeping my head in C# is a good advantage as I'm also interested in Xamarin and Unity (both professionally and personally). Of course, I'm one who does not have any particular grudge against Microsoft. I do prefer POSIX based systems. For my home business and hobby tech stack I'm currently looking at 1) PyPy4, 2) .NetCore 3) CPython3. While I'm currently running everything on PyPy4, there's a smaller gap between 1 and 2, and a big liklihood of adoption gap between 2 and 3.