15 ms·
.NET Framework 4.6.2
- tener 10y agoInteresting to see any improvements for WPF. I thought it is dead for good.
- crispyambulance 10y agoI hear that a lot, but why do folks say that? It has just become a mature and stable UI platform suitable for long-term development. What's the alternative?
- rubber_duck 10y ago>but why do folks say that? Because it was at some point IIRC,they didn't have a team for it internaly. This was back in the silverlight shutdown, html5/winrt win8 drama. Silverlight actually died, WPF got revived. This is just going on memory, and I wasn't really paying attention to it anyway.
- deleted 10y ago[deleted]
- tracker1 10y agoNot sure about WPF, but DLR was pretty much left to die on the vine, which is somewhat sad.
- WorldMaker 10y agoArguably the DLR accomplished what it set out to do and it is very usable. I've used C#'s dynamic in a number of production project and even a deeper use of DLR constructs (IDynamicObject expression generation) in a few particular sets of circumstances. You can kind of see how Microsoft felt the DLR was "finished" because they solved a lot of the hard problems and made them seem simple and easy. IronPython and IronRuby are still useful for doing .NET things in a REPL or scripting, though Roslyn's support for C# (and VB) REPL/scripting and F# have lessened the amount of time I spend with IronPython. (I did recently hear IronPython rebooted and is trying to build out a full CPython 3.5+ compatible version, which was exciting to hear.)
- kidmenot 10y agoHappy to hear about IronPython trying to get up to speed, I'm using it a lot and it's pretty awesome. I haven't had the chance to play with Roslyn yet, though. Seems promising.
- tracker1 10y agoNice to hear that IronPython is still seeing some love... I was sad to see (whatever the DLR JavaScript runtime was called) go away when IronRuby and IronPython were picked up.
- deleted 10y ago[deleted]
- WorldMaker 10y agoThe UWP XAML stack should be considered the successor to WPF (and for old die hards, Silverlight for that matter as well).
- FLGMwt 10y agoEven if nothing else (sorry, UWP), Xamarin uses WPF as its view language and MSFTs recent critical acquisition I think keeps WPF alive for at least another 5 years.
- zastrowm 10y agoAre you sure you're not thinking that Xamarin uses XAML and not WPF? XAML is used by WPF, UWP, & Xamarin Forms, but I don't recall WPF being on anything other than Windows.
- FLGMwt 10y agoOh, damn, you're right. I only just now realized I've erroneously used those interchangeably for years. /humbly skitter away
- ygra 10y agoNote that XAML is nothing more than a way of serializing object graphs to XML. WPF uses XAML (as do a bunch of others), but the objects created when parsing the XAML can be pretty much anything and all that is not tied to WPF in any way. Case in point: Our main product is a graph display and editing component, using GraphML as its native file format. We serialize visualization and business data attached to the graph as XAML, and while that particular code portion originated in the WPF branch, the format is the same, even in the Java product.
- richardlblair 10y agoI would like to understand where all the hate comes from. I haven't done any .Net work in about 6 years, but I loved WPF. It's the only UI framework I thought was _okay_.
- tonyedgecombe 10y agoI'm the opposite, I really don't like it at all.
- tener 10y agoWhat hate? WPF may not be the best thing ever, but it certainly isn't totally broken either.
- ygra 10y agoWPF is a complex beast. It works pretty differently from every other GUI framework out there¹ and has a steep learning curve. While you can program WPF and pretend it's Windows Forms, all that gets you is not very idiomatic code and confusion why you would even put up with that when WinForms is so much easier (except maybe XAML for building the GUI). Now, there's the other extreme as well: people who pretend XAML to be a programming language and try to bash at everything with templates and styles, trying to never have to write a single line of C#. In my experience people scoffing at or hating WPF come from one of those two camps.
- achr2 10y agoI use WPF every day and it is a powerful framework. That said there are definitely aspects that are very poorly designed. It desperately needs a fork to catch up with the modern framework (no support for generic types, async Task-based commands, etc.). Not to mention that the slow measure/layout pass means that we still have UIs that 'hang' even when absolutely all programmatic work is done on a background thread.
- pjmlp 10y agoIt never really went away. Its foundation XAML + .NET API has always been around in different forms. The only issue is the implementation isn't 1:1 compatible across all its variants.
- perezdev 10y agoThought the same of WCF. Could've sworn Web API was going to replace WCF.
- frogfuzion 10y agoI think Web API was just intended to be a lightweight replacement for RESTful API in WCF. WCF does so much more, the most popular probably being SOAP, but I believe it does much more in the messaging, queue, workflow space as well.
- dimgl 10y agoI can't believe it took this long to show the name of null references. NullReferenceException is actually the first exception I ever encountered when I started learning how to use C#. That being said, better late than never.
- iamcreasy 10y agoAnybody knows if/when Java will have this feature?
- meddlepal 10y agoI doubt believe it will ever or at least not anytime soon. I don't think the JVM preserves identifier names in the bytecode in a way that it can be accessed easily. Though I do recall a long time ago reading about some JVM switches that allow that data to be accessed but with performance issues. Can't recall where I read that.
- kodfodrasz 10y agoSadly (as one developing a lot in Java) i think it won't happen anytime soon, and the community will ideologize it as "it is even better that we don't have it". :( I hope I will be wrong. ps: a language where non-nullable references are the thing would be the best.
- 10y ago
- backslash_16 10y agoIn the release notes it says the MAXPATH file name limitation is fixed. Does that mean what I think, and we're now free to have things deeply nested with arbitrarily long names? ~32768 characters according to the docs. I frequently hit this problem, especially with a git repository inside of a solution with a huge name. This is great and I wonder if this will incentivize vendors to finally recompile some of their old applications or if the *.config file change will be good enough.
- MichaelGG 10y agoThis is just for the .NET wrappers. Other code might still have issues. Doesn't seem like recompiling is needed; as you mention there's a config switch. (You wouldn't have to recompile anyways; the targeting is just some metadata, so you could just change the already-compiled code unless they do their own binary verification.)
- dogma1138 10y agoYes it was originally the same as the UNC path limit which was 260 chars. Microsoft (a while ago) has updated WinAPI to support unicode and under extended-length paths has lifted the limit up to 32,767 chars it seems that now .NET matched this also. https://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx https://msdn.microsoft.com/en-us/library/aa365247(VS.85).asp...
- poizan42 10y ago"A while ago"? That was at least back in NT 3.5
- dogma1138 10y agoIIRC the MAX_PATH limit was lifted from Win32 with one of the Windows 10 builds. But it's true that unicode support was there for a "while" ;) the limit however was still enforced, so I should've been more clear that only the restriction lifting was more recent than 2 decades past.
- julianz 10y ago
- merb 10y agoWhy the hell did they call it 4.6.2. I mean so many feature's for a x.x.2? microsoft naming schemes are a whole lot of mess..
- daigoba66 10y agoIt's actually reasonably consistent with how .NET has been versioned for the past 4-5 years. They've never pretended to follow "semver", but their versioning system works.
- josephcooney 10y agoFrom a version number point of view maybe, but to say 'it works' is pretty charitable. CLR versions vs framework version confusion - "oh, you've got a .NET 3.5 app, you need CLR version 2.0". ASP.NET version vs framework versions. ASP.NET 5 vs ASP.NET 4.6 (ASP.NET 5 was re-named to ASP.NET Core 1.0). I guess CLR versioning "works" but in the broader .net ecosystem it is still a problem.
- deleted 10y ago[deleted]
- adamconroy 10y agoi don't agree that CLR vs .NET versions are confusing. .NET is the CLR plus a pile of libraries. The CLR moves slowly, the non-clr parts of .NET iterate faster. I rarely even think about the CLR version at all. It was a minor consideration 10 years ago when CLR 1->2, but even then it was somewhat of a theoretical point that was basically handled by the version of .NET you targeted.
- taspeotis 10y ago> so many feature's .NET is huge, this release is tiny.
- Dayshine 10y agoHuh? There are like 2 features that affect everyone. Both minor.
- aashishkoirala 10y agoNice. But I wonder when they will get around to updating the Service Fabric with the new version. I think SF is still on 4.5 or 4.5.1.
- youdontknowtho 10y agoService fabric is stupid fresh. Ive really enjoyed playing around with it.
- benaadams 10y agoIt's what's installed on the VMs so will run on 4.6.2 if you install it on them.
- aashishkoirala 10y agoYes, but I don't want to have to go in and manage the VMs individually - then I'm almost doing IaaS. Besides, that would not work with the new VM scale sets that spin up new VMs on the fly.
- FLGMwt 10y agoFYI, I just installed 4.6.2 Dev, started a new project, made some sample code that I hoped would exhibit improvements to the NRE messaging, but it seems that the messaging is the same. For example, if you have the following: // the following is on ln:30 thing.NestedThing.NestedOtherThing.Property.NestedProperty And you get a NRE on ln:30, you'll only get "NRE on line 30". Reading between the lines, the release notes imply that the support for additional context has been provided in the debugger APIs, but may not yet be consumed by Visual Studio. This is also supported by the fact that I didn't need a Visual Studio update to target 4.6.2. Does anyone have any more context for this?
- joshschreuder 10y agoThat's the way I took it too - the framework is laying groundwork for better debugging support for NRE in VS v15 which is yet to be released. Perhaps they'll target it for VS 2015 update 4 as well?
- viggity 10y agomore info on this issue - https://github.com/dotnet/coreclr/issues/25 https://github.com/dotnet/coreclr/issues/25
- agentgt 10y agoAs a Java developer I am always so envious of how attentive Microsoft is with .NET. Maybe it is the grass is greener but it feels like oracle just sits on its ass and ignores most of the Java community.
- wernercd 10y agoThe force is strong in this one... Come... Come to the dark side. We have cake.
- perseusprime11 10y agoCake = Mac + VS Code + .Net Core
- dagmx 10y agoactually quite literally cake: https://github.com/cake-build/cake https://github.com/cake-build/cake (C# Make)
- perseusprime11 10y agoInteresting. You can have the cake and eat it too.
- abrookewood 10y agoCan I ask how you find working in this environment - genuinely curious. DId you have to refactor your applications much, or did you start off targetting .Net core? Years ago I thought people working in mono on Linux were just asking for trouble. Now it seems genuinely feasible to be running .Net on a non-Windows platform.
- ktRolster 10y agoI spent some time with Mono/.NET last year. It worked fine, but not everything was implemented. Specifically, we had some members on the team (the architect being one of them) who liked to include cutting edge features from .NET, that didn't work on Mono (he also had decided to write a large chunk of code in Silverlight, but that's a different story). The short is: if you're going to do Mono, make sure that you're always having at least one person on the team doing Mono, otherwise there's a moderate chance that you'll lose the ability to run on Mono. Also, stay away from entity framework. Some people might disagree, but we had problems with it and I hate that framework.
- watmough 10y agoWow MAX_PATH is going away ... WCF gets a big fix. This is some good stuff. It feels like Microsoft are listening again. I suppose they never really stopped, but this is good.
- ayuvar 10y agoI can't wait for the tools side of things to pick up on the MAX_PATH fixes. msbuild path limits have been a thorn in my side at a few jobs now and it will be nice to finally kiss them goodbye. Nice to see that stuff on UserVoice does get acted on for sure!
- tracker1 10y agoI'm hoping that via CoreCLR's use of libuv, that these changes will make it in there, and by extension node... would make a lot of windows + node.js users very happy, to say the least.
- velox_io 10y agoThe .Net Framework still only supports TLS 1.0 for out-going connections by default. They really need to switch these defaults, I don't know why they don't have the newer versions enabled!
- dsp1234 10y agoThis is incorrect. As of .net 4.6 it defaults to "tls12 | tls11 | tls" unless you specifically set a registry setting to do otherwise. You can see this in the reference source[0] [0] - http://referencesource.microsoft.com/#System/net/System/Net/ServicePointManager.cs,686 http://referencesource.microsoft.com/#System/net/System/Net/...
- danjc 10y agoThis tripped me up very recently too. Its opt in for framework <4.5.2 I think
- Citrus2fizz 10y agoSo happy for per monitor dpi scaling in wpf
- namelezz 10y agoWith .Net core, is C# "write once run anywhere" like Java?
- kodfodrasz 10y agoIf you have a .Net Core runtime on your platform, then yes. You cannot run .Net Core apps on traditional .Net Framework. (There are differences in the base types as .Net Core was redesigned to eventually support AOT, among many other things, which results in incompatibilities.)
- pjmlp 10y agoEventually, Microsoft is making a common base that is supposed to be available in all .NET implementations. https://docs.microsoft.com/en-us/dotnet/articles/standard/library https://docs.microsoft.com/en-us/dotnet/articles/standard/li... Think of it as the Compact Profiles introduced in Java 8.
- romanovcode 10y agoYea, you also need .NET Core runtime, not Mono. So it's kind of lightweight.
- hiram112 10y agoAs another java dev who is glad I didn't get stuck with .Net seven years ago, why do I want it not? We're doing fine: deployed on centos6, devs on OSX and win 7. Intellij licenses are the least of our problems, compared to the clusterfuck that we dumped. So tell me MS: What do you give me that Spring Boot, Scala, etc.
- pjmlp 10y agoAOT compilation for free instead of having to buy Excelsior JET, J9, Atego, .... Ability to write SIMD code. Real value types and ability to write almost C++ like code with structs and pointers, in case performance requires ask for it. No JNI, rather developer friendly P/Invoke, RCW and C++/CLI for interoperating with native code. No need to go fetch a VM plugin from somewhere, just to be able to debug the quality of machine code being generated. Powerful desktop stack that is actually used. F# is much better than Scala for those that enjoy ML languages and is available by default. No need to ask for permission to install it. Ability to target the HoloLens, XBox, iOS and Android.
- tracker1 10y agoSecond on the sane P/Invoke and interop in general... main reason why I jumped to .Net very early on. By comparison, every time I touch Java it feels like an exercise in frustration, though seems better since Maven. I'd also say that MVC/Razor, etc is much nicer than the Java counterparts I've seen... though I tend to not be too idiomatic with it when I've used it, very nice. Razor is probably my all time favorite view engine, though harder to use outside a web context (emails). The much less terse syntax for generics is another big one over Java... with Java, it feels like all you save by having generics is lost with the extra syntax and typing you have to do... for example the LINQ functions (I actually don't care for the syntax) in C# are great, and the lamda expression syntax is awesome too. I haven't used F#, but every time I see an article, I think about how awesome it looks, and seems to be more approachable than some other FP languages. Although I took a diagonal step and do a lot of mostly functional JS these days (I like and work a lot in node's good use cases). Oh, another one, the .Net docker containers are MUCH smaller than Java...
- jackcosgrove 10y agoI know this is a breaking change, but I sure wish async methods called ConfigureAwait(false) by default. That's a majority of use cases in my experience. I've come across .NET libraries with asynchronous methods that deadlock because some internal asynchronous call does not invoke ConfigureAwait(false).
- achr2 10y agoI definitely agree. Not using '.ConfigrueAwait(false)' is the exception rather than the rule. That said, I use an extension method '.NoSync()' to replace it which at least is more succinct and explicit. There are a few other async/await constructs that are glaringly missing in .NET. My most useful is a function 'await TaskEx.EnsureNoContext()' which conditionally yields to the threadpool if not already on it. With this function I rarely need to use 'Task.Run'.
- NKCSS 10y agoUpdate summary (some smaller fixes/improvements omitted): - Allow paths that are greater than 260 character (MAX_PATH). - Enable extended path syntax and file namespaces (\\?\, \\.\). - X509 Certificates Now Support FIPS 186-3 Digital Signature Algorithm (Keys > 1024 bits) - SignedXml Support for SHA-2 Hashing - Groundwork for more informative NullRefrence Exceptions - ClickOnce TLS 1.1, 1.2 and client certificate support - ASP.NET DataAnnotation Localization - System.Data.SqlClient Always Encrypted Modus - WCF removed support for SSL 3 - Per monitor DPI support for WPF - Show/Hide soft keyboard from WPF code Minor nitpick, but why would you name your XML example files .cs (C#) files :P https://gist.githubusercontent.com/staceyhaffner/8bad9c0895b647703784db65237c5b5f/raw/7384c36d9cd668bc6988d4da6c4fce28737d2616/longpathsample1.cs https://gist.githubusercontent.com/staceyhaffner/8bad9c0895b...
- jsingleton 10y agoMore background on the long paths: https://blogs.msdn.microsoft.com/jeremykuhne https://blogs.msdn.microsoft.com/jeremykuhne There's some nice small Async enhancements in this patch too, such as improvements to Output Caching (which isn't available in ASP.NET Core, although Response Caching to set headers for proxies is). It's good to see MS are still updating .NET Framework as I think .NET Core needs a bit more time before it's suitable for enterprise style applications. Patches are coming soon though: https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-... edit: More info on Response Caching: https://docs.asp.net/en/latest/performance/caching/response.html https://docs.asp.net/en/latest/performance/caching/response.... Shameless plug: I've written about Response Caching in my book on ASP.NET Core (https://unop.uk/book https://unop.uk/book).
- rbanffy 10y ago> - Allow paths that are greater than 260 character (MAX_PATH). That's surprising.
- tracker1 10y agoHoly crap, they fixed the abstraction for long file paths!!! I never understood why they didn't transparently use the long path support for longer paths in .Net from the beginning. I'm still hoping to see libuv do the same (which would be great for node.js).
- cia48621793 10y agoI'm always afraid of that Microsoft will one day re-closed-source .NET again like what Oracle could done to MySQL (well that evolved into MariaDB).
- dagaci 10y agothe .Net framework project is an insightful reminder that MS can build and execute on a project well, visual studio is great, .net/c# is great I often hear that f# is something special and worthy with .net and visual studio, Microsoft seems to think and plan way ahead, and even when it missed the boat, they are able to quickly turn things in the right way example: .net got a little fat, so we now have .net core, with open source and genuine cross platform intentions thrown in for free with a little more effort and care :) .net might even become fashionable!
- rjbwork 10y ago4.6 and 4.6.2 are still not available on a stock VM Image on Azure. Ridiculousness.