
.NET Core 3 and Support for Windows Desktop Applications - runesoerensen
https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
======
pknopf
I really wish they would figure out of cross platform solution for desktop
applications. I know their are libraries out there now, but Microsoft should
really help with the effort. Maybe Xamarin.Forms? Idk.

Regardless, I'm working on a way to build Qt/Qmp apps with .NET Core.

[https://github.com/pauldotknopf/net-core-
qml](https://github.com/pauldotknopf/net-core-qml)

~~~
hungerstrike
Silverlight worked (on Mac and Windows).

~~~
vetinari
Crossplatform does NOT mean Windows, Windows Phone and Xbox.

Silverlight or Moonlight never worked for me on Linux desktop.

~~~
pjmlp
Windows, Windows Phone and Xbox do not use exactly the same OS, or expected
set always present hardware, thus they are by definition not the same
platform.

Cross platform does not mean it works in all OS ever written.

------
mmgutz
I don't get it more and more Windows specific features are creeping into .NET
Core. Wasn't there already desktop applications support in regular .NET? Very
confusing.

What is the cross platform .NET?

~~~
runfaster2000
Disclosure: .NET Core team member and blog post author.

Windows-specific features are not really "creeping into .NET Core". WPF and
Windows Forms will be components that layer on top of the .NET Core runtime.
If you want to use them, you will get them. If you don't want to use them, you
will not. We already have precedent for that with the Windows Compat Pack [1].
We also have significant platform-specific implementations already [2].

We think developers will like the idea that they can take advantage of OS-
specific functionality. We will look for more opportunities to do that on
macOS and Linux, too. If we were ever to support the macOS Cocoa API, it would
layer on top of the .NET Core runtime, too.

Does that help?

[1]
[https://blogs.msdn.microsoft.com/dotnet/2017/11/16/announcin...](https://blogs.msdn.microsoft.com/dotnet/2017/11/16/announcing-
the-windows-compatibility-pack-for-net-core/) [2] [https://user-
images.githubusercontent.com/2608468/39717763-1...](https://user-
images.githubusercontent.com/2608468/39717763-1368d49e-51e9-11e8-98d1-ea4a12e8ac73.png)

~~~
alkonaut
A few related questions: what is the biggest difference between Core 3 and
Framework 4.8 in terms of APIs? Superficially the difference was desktop and a
few other areas. Is there a reason to keep both branches of the ecosystem if
the API surface grows ever more similar?

Second: is the goal of Core 3 to be “feature complete” for the desktop APIs in
the sense that existing .NET 4.7 Windows Forms apps (for example) should work
without change in .NET Core 3, or is it a less ambitious plan initially?

~~~
runfaster2000
Some apps might run completely unmodified, but that's not really our plan. We
intend for folks to update their apps to target .NET Core 3. We intend to
support all the APIs that we find that client apps use. We're not including
ASP.NET Web Forms, for example, but we'll definitely be supporting
System.Drawing.

We've already shifted to putting more effort into the .NET Core project. The
last few .NET Framework releases have been pretty targeted. That trend will
continue. We'll continue adding existing .NET Framework APIs on Core to make
it so that devs can move more and more apps to .NET Core. That's the basic
plan.

From the post:

* Desktop applications will need to target .NET Core 3 and recompile.

* Project files will need to be updated to target .NET Core 3.

* Dependencies will not need to retarget and recompile. There will be additional benefits if you update dependencies.

------
ocdtrekkie
This is really where I've been waiting for .NET to reach. There's been a huge
amount of fragmentation in the .NET space, and until Core was able to handle
existing Windows applications, it wasn't really done.

I'd still really like a desktop UI flavor of some sort to make it into cross-
platform .NET, mind you. Let me run my desktop apps on a Linux machine.

~~~
deft
Xamarin for linux is coming, so truly crossplatform .NET should be a future
possibility.

~~~
ocdtrekkie
I'll have to look into that. I have a WinForms app I'd love to run on a Linux
machine. (Or more specifically, one of my Windows machines I run it on I'd
rather be running Linux.)

I have to have a UI, but the UI is not sophisticated, and could likely be
migrated to another UI framework without too much pain.

Although... Xamarin still doesn't play nice with VB does it? Fun:
[https://docs.microsoft.com/en-us/xamarin/cross-
platform/plat...](https://docs.microsoft.com/en-us/xamarin/cross-
platform/platform/visual-basic/xamarin-forms)

~~~
deft
Xamarin for WPF is also coming which should allow you to keep your VB code
unchanged, I don't know the specifics however.

------
merb
I don't get why they don't use Xamarin.Forms as a Foundation to power it...

So much wasted development effort. They are building Xamarin.Forms AND this
new Windows Desktop Application stuff.

------
tomc1985
So WPF/XAML's back?

~~~
pjmlp
XAML never went away.

WPF is still pretty much alive in applications that need to target Windows 7
and lower.

