未验证 提交 bd07da3d 编写于 作者: D Dipesh Kumar 提交者: GitHub

Updating README.md and docs (#7741)

* Updating README.md and docs

* Updated developer-guide.md
上级 d41e70ed
...@@ -6,9 +6,7 @@ The [Issue Guide](issue-guide.md) describes our approach to using GitHub issues. ...@@ -6,9 +6,7 @@ The [Issue Guide](issue-guide.md) describes our approach to using GitHub issues.
## Machine Setup ## 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 2022 (17.0.0):
WPF requires the following workloads and components be selected when installing Visual Studio:
* Required Workloads: [wpf.vsconfig](wpf.vsconfig) * 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) * 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 ...@@ -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. 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 ### ### Running DRTs locally ###
...@@ -197,10 +195,28 @@ If you don't have the ability to build from source, you can update the *.runtime ...@@ -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. 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 ### Testing PresentationBuildTasks
#### 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\<your sdk version>\Sdks\Microsoft.NET.Sdk.WindowsDesktop\tools\net472` with your binaries (`<wpf clone directory>\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 "`<wpf clone directory>\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) #### The specified RuntimeIdentifier `win-` is not recognized (Code: NETSDK1083)
If you are seeing this error it means you are possibly missing `<PlatformTarget>` tag from your `.csproj` file. Please add the tag with apropriate value. If you are seeing this error it means you are possibly missing `<PlatformTarget>` 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: ...@@ -221,25 +237,6 @@ Your final csproj file should look like as below:
<Import Project="$(WpfRepoRoot)\eng\wpf-debug.targets" /> <Import Project="$(WpfRepoRoot)\eng\wpf-debug.targets" />
``` ```
## 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\<your sdk version>\Sdks\Microsoft.NET.Sdk.WindowsDesktop\tools\net472` with your binaries (`<wpf clone directory>\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 "`<wpf clone directory>\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 ## More Information
......
...@@ -11,23 +11,21 @@ As of .NET 6.0 WPF supports ARM64. ...@@ -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. 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 ## Getting started
* [.NET 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0) * [.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 (7.0 daily, 6.0 servicing, and 3.1 servicing)](https://github.com/dotnet/installer) * [.NET Preview SDKs (8.0 daily, 7.0 servicing)](https://github.com/dotnet/installer)
* [Getting started instructions](Documentation/getting-started.md) * [Getting started instructions](Documentation/getting-started.md)
* [Contributing guide](Documentation/contributing.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) * [Migrating .NET Framework WPF Apps to .NET Core](https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework)
## Status ## Status
- We are currently developing WPF for .NET 7. - We are currently developing WPF for .NET 8.
- 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).
See the [WPF roadmap](roadmap.md) to learn about the schedule for specific WPF components. See the [WPF roadmap](roadmap.md) to learn about the schedule for specific WPF components.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册