.Net Framework vs .Net 5 Core
-
Asking because I'm not sure, does Core have the ability to compile to a single exe, where framework does not? If that's the case, that would be one advantage.
i don't know.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
So I wrote an app using .Net Framework (4.72), and published the article. There are fewer than 6 files to "publish" in the release folder. Out of curiosity, I re-implemented the code with .Net 5 Core. There are 22 files, six runtime folders, and a refs folder. All told the binary footprint is over 10mb LARGER than with .Net framework. I don't see the benefit of using .Net Core if it's going to consume that much more disk space.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013The point is, its way faster, supports newer C# versions, newer framework features, runs on more platforms and supports standalone builds, etc. Also in .NET 6 you will be able to make AOT builds for all platforms. If 10mb is an issue on a Windows PC you're worrying about the wrong things. Also you can run IL trimmers in .NET 5. true Trimming options - .NET | Microsoft Docs[^]
-
I've been a developer for 30 years and I have exactly the same heartburn. I have to keep telling myself "Disk space is cheap now, memory is cheap now". I have to ignore the little voice telling me, "This machine is MASSIVELY faster than the machine I was working on 30 years ago - why does everything start and run so freaking slow?"
Recursion is for programmers who haven't blown enough stacks yet.
Yup.... it blows people's minds when I when I tell them one of our flagship products (of the early to mid 90s) had 0.000032GB of "disk space" (EEPROM) and even less RAM. And, by the way, it used a 0.012 GHz processor. And supported five serial ports. (But, of course, had no display, let alone a graphical one, no keyboard, no mouse....)
-
The point is, its way faster, supports newer C# versions, newer framework features, runs on more platforms and supports standalone builds, etc. Also in .NET 6 you will be able to make AOT builds for all platforms. If 10mb is an issue on a Windows PC you're worrying about the wrong things. Also you can run IL trimmers in .NET 5. true Trimming options - .NET | Microsoft Docs[^]
zezba9000 wrote:
supports newer C# versions
Disingenuous claim - it *forces* you to use newer C# versions
zezba9000 wrote:
newer framework features,
Disingenuous - it's still just .Net
zezba9000 wrote:
runs on more platforms
Mostly false - it only runs on Windows if you add a UI. On linux, you have to run it through a glorified parser(the dotnet command). When you get right down to it, .Net isn't "native" on ANY platform.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
Asking because I'm not sure, does Core have the ability to compile to a single exe, where framework does not? If that's the case, that would be one advantage.
It compiles and runs fine, but when I try to publish as self-contained single file, I get this:
Publish has encountered an error. We were unable to determine the cause of the error.
Core is worthless. EDIT - when I set it to framework dependent single file, it "publishes" successfully, but I get still 5mb of deployable files.".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
It compiles and runs fine, but when I try to publish as self-contained single file, I get this:
Publish has encountered an error. We were unable to determine the cause of the error.
Core is worthless. EDIT - when I set it to framework dependent single file, it "publishes" successfully, but I get still 5mb of deployable files.".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013#realJSOP quoted:
Publish has encountered an error. We were unable to determine the cause of the error.
I'm glad I didn't have a mouthful of coffee when I read this. Who releases such shite?
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
#realJSOP quoted:
Publish has encountered an error. We were unable to determine the cause of the error.
I'm glad I didn't have a mouthful of coffee when I read this. Who releases such shite?
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Greg Utas wrote:
Who releases such shite?
Microsoft?
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
zezba9000 wrote:
supports newer C# versions
Disingenuous claim - it *forces* you to use newer C# versions
zezba9000 wrote:
newer framework features,
Disingenuous - it's still just .Net
zezba9000 wrote:
runs on more platforms
Mostly false - it only runs on Windows if you add a UI. On linux, you have to run it through a glorified parser(the dotnet command). When you get right down to it, .Net isn't "native" on ANY platform.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013I work with dotnet 5 every day and I cannot say that any of the claims here are actually factual. I run core 3.1 ( which is NOT exactly the same as dotnet 5 ) on a Raspberry PI with full UI. (UWP). I Now run dotnet 5 as a portable web site ( runs on everything I've tried so far, with no real complications ). As for size of the executable folder. Try this..... Just create a demo app using full framework ( web forms ) then create the demo Blazor app, now do a comparison using windows explorer-Properties. Be aware if you used the ".ALL" nuget package in your conversion ( Huge legacy, Full Framework library ) and then select the option that automatically loads the whole Kestral web server into the runtime folder when you deploy you will get a lot of things you really don't need. Actually the whole paradigm has changed.
-
I work with dotnet 5 every day and I cannot say that any of the claims here are actually factual. I run core 3.1 ( which is NOT exactly the same as dotnet 5 ) on a Raspberry PI with full UI. (UWP). I Now run dotnet 5 as a portable web site ( runs on everything I've tried so far, with no real complications ). As for size of the executable folder. Try this..... Just create a demo app using full framework ( web forms ) then create the demo Blazor app, now do a comparison using windows explorer-Properties. Be aware if you used the ".ALL" nuget package in your conversion ( Huge legacy, Full Framework library ) and then select the option that automatically loads the whole Kestral web server into the runtime folder when you deploy you will get a lot of things you really don't need. Actually the whole paradigm has changed.
Member 7921483 wrote:
web site
Web apps, by their very nature, areplatform agnostic. The UI is handled by the browser, NOT the "app" itself. Desktop apps written with Core that have a UI are NOT cross platform. My claim stands.
Member 7921483 wrote:
on a Raspberry PI with full UI. (UWP)
Is that a web app, or a desktop app?
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
zezba9000 wrote:
supports newer C# versions
Disingenuous claim - it *forces* you to use newer C# versions
zezba9000 wrote:
newer framework features,
Disingenuous - it's still just .Net
zezba9000 wrote:
runs on more platforms
Mostly false - it only runs on Windows if you add a UI. On linux, you have to run it through a glorified parser(the dotnet command). When you get right down to it, .Net isn't "native" on ANY platform.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013Your "feelings" don't effect the facts. Sorry. I think .NET has been a mess for years with its runtime fragmentation and lack of AOT in any meaningful sense... but the reality is if you want to use new lang or framework features fundamentally based on CoreLib changes you need to update.
-
So I wrote an app using .Net Framework (4.72), and published the article. There are fewer than 6 files to "publish" in the release folder. Out of curiosity, I re-implemented the code with .Net 5 Core. There are 22 files, six runtime folders, and a refs folder. All told the binary footprint is over 10mb LARGER than with .Net framework. I don't see the benefit of using .Net Core if it's going to consume that much more disk space.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013Wait till you implement a small microservice, and 6 months later you need another microservice so you fire up another ASP.NET Core 3.1 project and use NuGet to get the various packages you need, and suddenly, running on the same server, all these bizarre dependent DLL's can't be found because whatever you did to get them on your server for the first project, well, the second project, which now uses newer versions, those don't exist on the server. And given this is a production server, I'm reluctant to update all those DLL's, as it might break something in the other existing projects. So my solution? I copy the entire SLN of the microservice that is running, replace various C# files with the functionality I need in the new service, and it works. Fucking mess, is what NuGet and Core 3.1 is. .NET was supposed to "solve" DLL hell. It's come back with a vengeance. Yes, I suppose I could edit some obscure config file somewhere that says "use this version of this package", or manually select the package version I used previously when installing the NuGet package, but really? Why? Why do I need to go through all this extra work? Oh, and I also blame the open source community. So many updates, constantly, it doesn't take six months for something to change. In some cases, it takes mere hours.
Latest Articles:
Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions -
Actually, no. You can't run .Net apps with UI's on Linux.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013Mono Winforms?
-
So I wrote an app using .Net Framework (4.72), and published the article. There are fewer than 6 files to "publish" in the release folder. Out of curiosity, I re-implemented the code with .Net 5 Core. There are 22 files, six runtime folders, and a refs folder. All told the binary footprint is over 10mb LARGER than with .Net framework. I don't see the benefit of using .Net Core if it's going to consume that much more disk space.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013It's a setting.. you can deploy your app as Framework Dependent (need to have it installed on the target machine, deploy size is same as before) or Framework Independent (need not install the framework on the target machine, the deploy size is much bigger) While you would think "just install the damn framework", if you ever had to handle with your IT support that refuse to install new version for whatever reason, the larger in size, yet framework independent version is a god send! ;P
A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!
-
It's a setting.. you can deploy your app as Framework Dependent (need to have it installed on the target machine, deploy size is same as before) or Framework Independent (need not install the framework on the target machine, the deploy size is much bigger) While you would think "just install the damn framework", if you ever had to handle with your IT support that refuse to install new version for whatever reason, the larger in size, yet framework independent version is a god send! ;P
A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!
test!
A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!
-
So I wrote an app using .Net Framework (4.72), and published the article. There are fewer than 6 files to "publish" in the release folder. Out of curiosity, I re-implemented the code with .Net 5 Core. There are 22 files, six runtime folders, and a refs folder. All told the binary footprint is over 10mb LARGER than with .Net framework. I don't see the benefit of using .Net Core if it's going to consume that much more disk space.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013On what systems are your deploying where you worry about 10Mb? That's maybe half the size of a single RAW photo taken on a new iPhone.
cheers Chris Maunder
-
On what systems are your deploying where you worry about 10Mb? That's maybe half the size of a single RAW photo taken on a new iPhone.
cheers Chris Maunder
I'm not "worried". I'm old, and I started working in the industry back in the late 70's, when we only had single sided 5-1/4 inch floppies and 64k of RAM. Conservation of resources was a really big deal back then, and while I realize that resources are generally more abundant today, I still code as if they weren't. I realize that the .Net framework requires almost 5gb of disk space to install, but I view that as part of the OS, and not part of my application when I deploy it. When my app grows to over 10mm for a simple "hello world" application, I get a bit annoyed.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
I'm not "worried". I'm old, and I started working in the industry back in the late 70's, when we only had single sided 5-1/4 inch floppies and 64k of RAM. Conservation of resources was a really big deal back then, and while I realize that resources are generally more abundant today, I still code as if they weren't. I realize that the .Net framework requires almost 5gb of disk space to install, but I view that as part of the OS, and not part of my application when I deploy it. When my app grows to over 10mm for a simple "hello world" application, I get a bit annoyed.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013I get it. I was taking a trip down memory lane with some old 3 1/2 inch disks and was thinking 'how did we ever survive??' 640Kb RAM, 20Mb HDD, 4.77MHz. Ah, those were the days...
cheers Chris Maunder