From bd07da3d4c9361410cecdce6f1948b71a11d60c3 Mon Sep 17 00:00:00 2001 From: Dipesh Kumar <85861525+dipeshmsft@users.noreply.github.com> Date: Fri, 5 May 2023 14:04:41 +0530 Subject: [PATCH] Updating README.md and docs (#7741) * Updating README.md and docs * Updated developer-guide.md --- Documentation/developer-guide.md | 47 +++++++++++++++----------------- README.md | 12 ++++---- 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 18e1a3c07..ba0a8aa83 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -6,9 +6,7 @@ The [Issue Guide](issue-guide.md) describes our approach to using GitHub issues. ## Machine Setup -Follow the [Building CoreFX on Windows](https://github.com/dotnet/corefx/blob/master/Documentation/building/windows-instructions.md) instructions. - -WPF requires the following workloads and components be selected when installing Visual Studio: +WPF requires the following workloads and components be selected when installing Visual Studio 2022 (17.0.0): * Required Workloads: [wpf.vsconfig](wpf.vsconfig) * Also see [Import or export installation configurations](https://docs.microsoft.com/en-us/visualstudio/install/import-export-installation-configurations?view=vs-2019) @@ -17,7 +15,7 @@ WPF requires the following workloads and components be selected when installing We use the following workflow for building and testing features and fixes. -You first need to [Fork](https://github.com/dotnet/corefx/wiki/Checking-out-the-code-repository#fork-the-repository) and [Clone](https://github.com/dotnet/corefx/wiki/Checking-out-the-code-repository#clone-the-repository) this WPF repository. This is a one-time task. +You first need to [Fork](https://guides.github.com/activities/forking) and [Clone](https://www.git-scm.com/docs/git-clone) this WPF repository. This is a one-time task. ### Running DRTs locally ### @@ -197,10 +195,28 @@ If you don't have the ability to build from source, you can update the *.runtime Follow the steps defined [here](https://github.com/dotnet/arcade/blob/main/Documentation/SeePackagesLatestVersion.md) to get setup for [swagger API](https://maestro-prod.westus2.cloudapp.azure.com/swagger/ui/index.html). Note that you need to authorize each time you login, so keep note of your token or you'll have to generate a new one. Assuming you have a commit (and therefore an Azure DevOps build id) that you are interested in, you can enter the build id into your query. ### Testing PresentationBuildTasks --- add more content here -- -## Commonly Encountered Errors +#### Debugging Presentation Build Task +Debugging Presentation Build Task(hereafter called PBT) can be required for various reasons. One of them can be if there is something you wanted to know about markup compilation. In this section you will learn how to debug PBT. + +For the sake of explaining the debugging steps, we will try to stop the debugger at execute (public function) of markupCompilatonPass2. + +Follow the following steps sequentially. +1. Replace the`PresentationBuildTasks.dll` located at `C:\Program Files\dotnet\sdk\\Sdks\Microsoft.NET.Sdk.WindowsDesktop\tools\net472` with your binaries (`\artifacts\packaging\Debug\Microsoft.NET.Sdk.WindowsDesktop.Debug\tools\net472`). +2. Launch Visual Studio and open the `Msbuild.exe` (generally located at `C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Current\Bin\MSBuild.exe`) +3. Go to Debug->Options->Symbols +4. Check option - `Load only specified modules` and click on `Specify included modules` +5. Symbols to Load automatically dialog box will pop up +6. Click on `+` button on top right and add `PresentationBuildTasks.dll`. +7. Click OK. +8. Right click on `MsBuild.exe` in solution explorer and select Properties. +9. In the Parameters textbox enter the fullpath to a solution file (.sln ||.csproj) of a test repo. +10. Click Save. +11. Open "`\src\Microsoft.DotNet.Wpf\src\PresentationBuildTasks\Microsoft\Build\Tasks\Windows\MarkupCompilePass2.cs`" (File -> Open -> File) in editor +12. Insert a breakpoint at start of `execute` function. +13. Hit F5 to start debugging. +## Commonly Encountered Errors #### The specified RuntimeIdentifier `win-` is not recognized (Code: NETSDK1083) If you are seeing this error it means you are possibly missing `` tag from your `.csproj` file. Please add the tag with apropriate value. @@ -221,25 +237,6 @@ Your final csproj file should look like as below: ``` -## Debugging Presentation Build Task -Debugging Presentation Build Task(hereafter called PBT) can be required for various reasons. One of them can be if there is something you wanted to know about markup compilation. In this section you will learn how to debug PBT. - -For the sake of explaining the debugging steps, we will try to stop the debugger at execute (public function) of markupCompilatonPass2. - -Follow the following steps sequentially. -1. Replace the`PresentationBuildTasks.dll` located at `C:\Program Files\dotnet\sdk\\Sdks\Microsoft.NET.Sdk.WindowsDesktop\tools\net472` with your binaries (`\artifacts\packaging\Debug\Microsoft.NET.Sdk.WindowsDesktop.Debug\tools\net472`). -2. Launch Visual Studio and open the `Msbuild.exe` (generally located at `C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Current\Bin\MSBuild.exe`) -3. Go to Debug->Options->Symbols -4. Check option - `Load only specified modules` and click on `Specify included modules` -5. Symbols to Load automatically dialog box will pop up -6. Click on `+` button on top right and add `PresentationBuildTasks.dll`. -7. Click OK. -8. Right click on `MsBuild.exe` in solution explorer and select Properties. -9. In the Parameters textbox enter the fullpath to a solution file (.sln ||.csproj) of a test repo. -10. Click Save. -11. Open "`\src\Microsoft.DotNet.Wpf\src\PresentationBuildTasks\Microsoft\Build\Tasks\Windows\MarkupCompilePass2.cs`" (File -> Open -> File) in editor -12. Insert a breakpoint at start of `execute` function. -13. Hit F5 to start debugging. ## More Information diff --git a/README.md b/README.md index 4936d3aa8..66527c24e 100644 --- a/README.md +++ b/README.md @@ -11,23 +11,21 @@ As of .NET 6.0 WPF supports ARM64. See the [WPF Roadmap](roadmap.md) to learn about project priorities, status and ship dates. -[WinForms](https://github.com/dotnet/winforms) is another UI framework for building Windows desktop applications that is supported on .NET (6.0.x/5.0.x/3.1.x). WPF and WinForms applications only run on Windows. They are part of the `Microsoft.NET.Sdk.WindowsDesktop` SDK. You are recommended to use the most recent version of [Visual Studio](https://visualstudio.microsoft.com/downloads/) to develop WPF and WinForms applications for .NET. +[WinForms](https://github.com/dotnet/winforms) is another UI framework for building Windows desktop applications that is supported on .NET (7.0.x/6.0.x). WPF and WinForms applications only run on Windows. They are part of the `Microsoft.NET.Sdk.WindowsDesktop` SDK. You are recommended to use the most recent version of [Visual Studio](https://visualstudio.microsoft.com/downloads/) to develop WPF and WinForms applications for .NET. -To build the WPF repo and contribute features and fixes for .NET 7.0, [Visual Studio 2022 Preview](https://visualstudio.microsoft.com/vs/preview/) is required. +To build the WPF repo and contribute features and fixes for .NET 8.0, [Visual Studio 2022 Preview](https://visualstudio.microsoft.com/vs/preview/) is required. ## Getting started -* [.NET 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0) -* [.NET Preview SDKs (7.0 daily, 6.0 servicing, and 3.1 servicing)](https://github.com/dotnet/installer) +* [.NET 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0), [.NET 7.0 SDK](https://dotnet.microsoft.com/download/dotnet/7.0) +* [.NET Preview SDKs (8.0 daily, 7.0 servicing)](https://github.com/dotnet/installer) * [Getting started instructions](Documentation/getting-started.md) * [Contributing guide](Documentation/contributing.md) * [Migrating .NET Framework WPF Apps to .NET Core](https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework) ## Status -- We are currently developing WPF for .NET 7. -- We have completed publishing WPF sources. You can learn more about this at https://github.com/dotnet/wpf/issues/2554. -- We have completed porting WPF to .NET Core as part of .NET Core 3.0, you can learn more about what was done [here](https://github.com/dotnet/wpf/issues/1936). +- We are currently developing WPF for .NET 8. See the [WPF roadmap](roadmap.md) to learn about the schedule for specific WPF components. -- GitLab