Unfortunately, this is not possible for the time being. The article provides a workaround for designing WinForms for .NET Core 3.0 preview 7 running on Windows operating systems.
As far as i know there are no plans from MS to make Wonforms and WPF available for Linux/Mac OS. The libraries are tied too closely to Windows functionality.
This article usefulness will be maximum 2 months. Why we need to hurry to run WinForms.Core?? Obviously that even in "release" this module will fall everywhere: WinForms is too big technology to easy port to Linux. So at least 1/2yr we will step on racks until technology will be polished. And MAYBE after 3 years of private use it will be adopted by mainstream. If it worth it (remember, we already have ready-to-use, production quality WinForms).
My other wondering is why we need to bother at all with that "Core" hype. So many clients wanna Linux app? Doubt so. Windows is the primary OS on desktop. If you run Linux, you already have TONS of apps/libs under X-Window. And these worlds do not intersect. Especially when "penguins" hate Windows.
MS did one biggest mistake at start of .NET: they made "virtual machine"... WINDOWS ONLY. Most stupid thing they could do. And after 15 years of "windows only" programming I have not a single reason to move anywhere. I'm under Win, my clients under Win, we have tons of Win-apps and everybody is happy!
Business wouldn't spend even $1 on idea (Core) which doesn't bring serious profit. Core brings ZERO profit to Windows users. So... it will be big laugh when MS at last will sacrifice Core "sorry, we were dumb and ambitious".
To some extent I must say I agree with you. However, for developers who are working on a project from scratch can safely jump on board using the .NET Core version of WinForms. There is no reason not to use the superior technology... I know what you’re saying, “how come superior if the traditional .NET framework exists from the first place” right? Well, .NET Core has been around for a while, and there are a handful number of libs developed on top of .NET Core (not to be confused with standard.) I’m not going to list the benefits of .NET Core, but all I can say is its nice to have and great. As for businesses, if they’re using decades old of software code based on the traditional (still good in some ways) .NET Framework, there is definitely no reason to switch, except if they plan to share some code with their mobile app versions of their software (Xamarin)
Emm... how this jump can be "safe" if Core even not released?? You should know well that even after release (esp. in MS) you need YEARS before platform become "production ready". Win.NET is ready, .NET Core - sorry, far from it. It's not saying about GUI - how people will create nice apps if they don't have even normal library?? Funny point 2: WPF, that "superior" technology... WILL NOT be ported to Linux. Serious?! Then why we need that "atavistic" WinForms??
Ah, forgot one more funny thing: IDE. How do you suppose to develop under Linux? I have VS under Windows and MS clearly said they CANNOT "move" it to other platforms.
I’m no judge to say whether the technology will succeed or fail. I’ve simply written an article on how to get around the hurdle of designing WinForms under .NET Core 3.0 preview, I must say its still a nice hack though.
I think it would benefit readers of this article if you address the benefits in some detail.
If I am targeting non-Win OS's using .NET Core, why would I use WinForms whose GUI controls only work in Windows ?
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
You can still expose your .NET Core libraries for cross-platform compatibility and then optionally express them with a GUI in Windows.
Yes you can use .NET Standard library, but it's a bit of a hassle and causes sometimes unknown issues as of late (specifically with WinForms .NET Framework.) Let's not forget ASP.NET Core, you can link ASP.NET Core and WinForms .NET Core together and get the best of both worlds if you're really targeting a Windows only solution (but still can be decoupled and go back cross-platform.) Given that .NET has been open source for a while, you can expect new capabilities at any time; maybe WinForms will see light on different platforms without you having to do extra effort if you're already on the .NET Core bandwagon?
As for old projects targeting the traditional .NET Framework, it is still safe to avoid the framework, but you'll be falling behind the latest and greatest capabilities of .NET Core.
Therefore, there is no reason NOT to use .NET Core WinForms, even if it's Windows only — especially if you're starting from scratch, it won't bite.
Therefore, there is no reason NOT to use .NET Core WinForms, even if it's Windows only
I see many reasons not to perform Frankenstein engineering with the miscellaneous body parts of preview versions of Tools
Ahmad N. Chatila wrote:
falling behind the latest and greatest capabilities of .NET Core
And, what is so great about that, at this point in time: you haven't told me specifics.
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
First, I meant after it’s production ready. Second, I’ve already stated the reasons. If the specified reasons are not enough for you, then you clearly have no benefit from the technology.
.NET Core is not Unix/Linux. The main goal of MS is to unify the different frameworks (classic .NET framework, Mono and Xamarin). MS clearly said that WinForms WPF will not be ported to Unix. .NET Core is not a hype but a step to the future of .NET. See this article:
It's still a good idea to stick with the latest technologies IMO. Maybe at some point they will change their minds and decide to make WinForms available on different platforms? Although I don't see that happening anytime soon anyway, because it will pose a serious threat to Microsoft's operating system from a business perspective.
.NET Core IS the pathetic try of MS to jump into geek's world of Linux. Otherwise why to "unify" .NET at all??? .NET exists for YEARS - just make program in it!
If Core (despite platform) will have no WPF, you can throw it away right now. Who the hell needs these "MS classes" if you cannot make even "calculator"??
.NET Core has no future, I don't know why smarties from MS discuss anything about it. Windows.NET 4.8 - that is future. Stable, fast enough, have lot of technologies and is adopted by mainstream.
I read article you provide, but it has too much "blah-blah" about "unification" and nothing about REAL USAGE. I make GUI, I use network, databases, etc. I want clear explanation, why I need Core and what technologies will be there. No GUI - it's immediate die.
.NET 4.8 definitely is not the future of .NET. But as it is widely spread, it will be supported for a long time (remember the good old Visual Basic). So you can use it safely if you want. But if you want to benefit from new language or framework features you have to switch to .NET Core respectively .NET 5. As it will support all features of .NET 4.8 except WCF and WWF in my opinion there is no reason not to switch. Maybe it will be a good idea to wait until .NET 6.0 release to be sure everything is really stable. Everyone has to decide itself.
By the way, I will not port my exisiting desktop applications to .NET Core, but when the Winforms and WPF designer in Visual Studio will work for .NET Core projects i will implement new applications with it.
Azure Media Services Explorer (AMSE) is a Winforms/C# application for Windows that does upload, download, encode and stream VOD and live content with Azure Media Services.
Contact: amse@microsoft.com
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
As described in this article you can link the source files from the .NET Framework project into the .NET Core project. This seems a lot easier than your approach (and i've tried it successfully). Why did you go this way.
I don't find your solution complicated, on the contrary much easier. Is very easy to test my old project in this way to look, what needs to be changed.
Last Visit: 31-Dec-99 18:00 Last Update: 21-Sep-24 1:34