dotnet / wpf

WPF is a .NET Core UI framework for building Windows desktop applications.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Announcing WPF on .NET Core 3.0

grubioe opened this issue · comments

Announcing WPF on .NET Core 3.0

We are excited to announce that .NET Core 3.0 is now Generally Available! You can learn more about the full scope of the release from the .NET blog linked here.

The WPF team has been working over the last year to port the WPF codebase from .NET Framework to .NET Core with a focus on ensuring that .NET Framework compatibility and ease of porting were maintained. Working on GitHub was a new experience to many of us but the community has been great and we really want to thank all of you that have been actively engaged in making this a reality. Whether it's been building and porting WPF apps via the multiple Previews shipped to those that have been submitting issues and actively commenting. We wanted to give a special recognition to some of our most active contributors: @weltkante, @onovotny, @lindexi, @dotMorten, @AndreyAkinshin, @thomasclaudiushuber, @Youssef1313, @walterv, @AlexChuev, @WilliamAntonRohm- THANKS for all your help in helping us ship this product!

With that said, here is a recap of the work done to date to ship WPF on .NET Core 3:

  • Building for .NET Core required large infrastructure changes to being able to build and ship WPF. As we shared back in April, we spent the first three months of the year on-boarding to the Arcade based build infrastructure which then allowed us to work across our internal and external repos.
  • Porting the WPF code from .NET Framework required us to overcome various environmental and technical differences that are unique to .NET Core 3. The team had to port and modify key test cases to ensure app compatibility with .NET Framework. Additionally, the team identified various changes to different elements of the broader .NET Code base, like modifying System.IO.Packaging to ensure that WPF ran smoothly and providing feedback & PRs to the CoreFX codebase.
  • Open Sourcing all managed binaries, as stated in our May and August updates, the team open sourced most of the WPF code base, we are still not done but we've open sourced the vast majority of the code base for this 3.0 release.
  • In addition to porting, we also incorporated a few features, like building and open sourcing the XAML Compiler in PresentationBuildTasks and enabling App.Local functionality.

Now that .NET Core 3.0 is available our focus shifts to .NET Core 3.1 with an emphasis on ensuring that 3.1 is as stable as possible given that it is an LTS release. We are also working on open sourcing the remaining Native binaries in our roadmap and doing planning for .NET 5.

Thanks again for your engagement, we look forward to seeing all the great WPF applications that will be built on .NET Core.

Well done 😊. ... Milcore next please 😜

Any reason PresentationNative was removed from the roadmap? It's where all the text line services are implemented, I was keen on taking a look! :)

@aelij looks like a mistake, I don't think anything has been announced about retracting part of WPF @grubioe PresentationNative_cor3 probably should still be on the list unless all the native code is being merged into a single C++/CLI assembly (wpfgfx_cor3) ?

Apparently PresentationNative_cor3 won't be open sourced. The text services contained therein seem to be private code and not possible to open source.

When Visual Studio will start using .NET core WPF?

@gulshan probably with 3.1 LTS (VS 16.4) when the designers are finished, they can't make .NET Core WPF designers without running .NET core ... if you meant when VS will completely change to use .NET Core only, probably not anytime soon, there are many 3rd party addins/components which cannot be easily updated. So for the time being running both in parallel is the only option they have.

... "when the designers are coming" ... Is that scheduled for mid 2020? I had always thought that the WPF designer for core (ie. "wpfsurface") was supposed to be released the same time as .net core 3.0 (ie now). I must be missing the roadmap which gives the actual date.

I see the main github page says: "Visual Studio WPF designer is not yet available. In short, we need to move to an out-of-proc model (relative to Visual Studio) with the designer. This work will be part of Visual Studio 2019".

But I thought this was already accomplished. I'm confused. I guess it comes down to this question... if I want to develop WPF with .Net core do I still need to keep installing preview builds of VS 2019? When will that be available in the regular builds?

@dbeavon There is a known issue with the designer showing up in release builds of Visual Studio and a fix is coming. In the meantime, there is a workaround see here

@rladuca thanks for the tip. The release build 16.3.0 seems to be working fine for me, probably because of that checkbox for the "preview features".
(I also have the preview version installed too, but I doubt that is a factor. I would think/hope that the side-by-side installations of VS don't affect each other in any significant way.)

@grubioe It's amazing for all your efforts on WPF of .NET Core 3.0.

There may be a small spelling issue on your active contributor names:

@walterv -> @walterlv I've checked "walterv" but find nothing on .NET Core WPF, so it's me probably.
@WilliamAntonRohm -> @...... Sorry that I can't find the correct GitHub id.

@dbeavon I don't know where you take "mid 2020" for 3.1 , the roadmaps I've seen say its November 2019 (including the one linked in the OP issue above)

@walterlv my apologies, it's been corrected... Thanks!

.NET Core 3.1 is planned for late November 2019.

@aelij apparently PresentationNative_cor3 won't be open sourced (see comment on roadmap PR linked above). The text services contained therein seem to be private code and not possible to open source.

Closing - please see new update at #2273