Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit aa5685d

Browse files
committed
Merge branch 'master' into dev/ryalanms/GeneratedFilesRelativePathFix
2 parents 900b82d + 734be70 commit aa5685d

File tree

2,531 files changed

+1069579
-572356
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,531 files changed

+1069579
-572356
lines changed

.gitattributes

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Set default behavior to automatically normalize line endings.
2+
* text=auto
3+
4+
*.doc binary
5+
*.DOC binary
6+
*.docx binary
7+
*.DOCX binary
8+
*.dot binary
9+
*.DOT binary
10+
*.pdf binary
11+
*.PDF binary
12+
*.rtf binary
13+
*.RTF binary
14+
15+
*.jpg binary
16+
*.png binary
17+
*.gif binary
18+
19+
# Force bash scripts to always use lf line endings so that if a repo is accessed
20+
# in Unix via a file share from Windows, the scripts will work.
21+
*.in text eol=lf
22+
*.sh text eol=lf
23+
24+
# Likewise, force cmd and batch scripts to always use crlf
25+
*.cmd text eol=crlf
26+
*.bat text eol=crlf
27+
28+
*.cs text=auto diff=csharp
29+
*.vb text=auto
30+
*.resx text=auto
31+
*.c text=auto
32+
*.cpp text=auto
33+
*.cxx text=auto
34+
*.h text=auto
35+
*.hxx text=auto
36+
*.py text=auto
37+
*.rb text=auto
38+
*.java text=auto
39+
*.html text=auto
40+
*.htm text=auto
41+
*.css text=auto
42+
*.scss text=auto
43+
*.sass text=auto
44+
*.less text=auto
45+
*.js text=auto
46+
*.lisp text=auto
47+
*.clj text=auto
48+
*.sql text=auto
49+
*.php text=auto
50+
*.lua text=auto
51+
*.m text=auto
52+
*.asm text=auto
53+
*.erl text=auto
54+
*.fs text=auto
55+
*.fsx text=auto
56+
*.hs text=auto
57+
58+
*.csproj text=auto
59+
*.vbproj text=auto
60+
*.fsproj text=auto
61+
*.dbproj text=auto
62+
*.sln text=auto eol=crlf
63+
64+
# Set linguist language for .h files explicitly based on
65+
# https://github.com/github/linguist/issues/1626#issuecomment-401442069
66+
# this only affects the repo's language statistics
67+
*.h linguist-language=C

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
---
22
name: Bug report
33
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
48
---
59

610
* .NET Core Version: (e.g. 3.0 Preview1, or daily build number, use `dotnet --info`)
711
* Windows version: (`winver`)
812
* Does the bug reproduce also in WPF for .NET Framework 4.8?: Yes/No
9-
* Is this bug related specifically to tooling in Visual Studio (e.g. XAML Designer, Code editing, etc...)? If yes, please file the issue via the instructions here: https://docs.microsoft.com/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2019
13+
* Is this bug related specifically to tooling in Visual Studio (e.g. XAML Designer, Code editing, etc...)? If yes, please file the issue via the instructions [here](https://docs.microsoft.com/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2019).
14+
* Security issues and bugs should be reported privately, learn more via our [responsible disclosure guidelines](https://github.com/dotnet/wpf/blob/master/README.md#reporting-security-issues-and-security-bugs).
1015

1116
<!-- Read https://github.com/dotnet/wpf/blob/master/Documentation/issue-guide.md -->
1217

@@ -17,4 +22,3 @@ about: Create a report to help us improve
1722
**Expected behavior:**
1823

1924
**Minimal repro:**
20-

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Issue with .NET runtime or core .NET libraries
4+
url: https://github.com/dotnet/runtime/issues/new/choose
5+
about: Please open issues with the .NET runtime or core .NET libraries in the dotnet/runtime repo
6+
- name: Issue with Windows Forms
7+
url: https://github.com/dotnet/winforms/issues/new/choose
8+
about: Please open issues with Windows Forms in the dotnet/winforms repo
9+
- name: Issue with .NET Core SDK
10+
url: https://github.com/dotnet/sdk/issues/new/choose
11+
about: Please open issues with the .NET Core SDK in the dotnet/sdk repo
12+
- name: Issue with Entity Framework
13+
url: https://github.com/dotnet/efcore/issues/new/choose
14+
about: Please open issues with Entity Framework in the dotnet/efcore repo
15+
- name: Issue with Roslyn compiler
16+
url: https://github.com/dotnet/roslyn/issues/new/choose
17+
about: Please open issues with the Roslyn compiler in the dotnet/roslyn repo
18+
- name: Issue with ASP.NET
19+
url: https://github.com/dotnet/aspnetcore/issues/new/choose
20+
about: Please open issues with ASP.NET Core in the dotnet/aspnetcore repo
21+

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
---
22
name: Feature / API request
33
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
48
---
59

610
Is this feature request related specifically to tooling in Visual Studio (e.g. XAML Designer, Code editing, etc...)? If yes, please file the request via the instructions here: https://docs.microsoft.com/visualstudio/ide/suggest-a-feature?view=vs-2019

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ artifacts/
5959
StyleCopReport.xml
6060

6161
# Files built by Visual Studio
62-
*_i.c
6362
*_p.c
6463
*_i.h
6564
*.ilk

CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Lines starting with '#' are comments.
2+
# Each line is a file pattern followed by one or more owners.
3+
4+
# These owners will be the default owners for everything in the repo,
5+
# and will automatically be added as reviewers to all pull requests.
6+
* @dotnet/wpf-developers

Documentation/C++-notes.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# C++ Notes
2+
3+
- `$(RepoRoot)eng\WpfArcadeSdk\tools\` contains `Wpf.Cpp.Props`,`Wpf.Cpp.targets`, `Wpf.Cpp.PrivateTools.props` and `Wpf.Cpp.PrivateTools.targets`, which contain all the important C++ related properties
4+
- We need to undefine the `TargetFramework` property when `ProjectReference`-ing a C++/CLI project from a C# project
5+
- When a C++/CLI project is built directly from the solution, `TargetFramework=netcoreapp3.0` etc. property is NOT passed to it.
6+
- When the same project is built via a C# project, it receives a global property `TargetFramework=netcoreapp3.0`.
7+
- This results in msbuild treating those two instances as _sufficiently different_ and builds them independently.
8+
- In turn, the same project is built twice (often simultaneously), and results in simultaneous writes to the PDB etc.
9+
- This leads to build failures.
10+
- The solution is to delete `TargetFramework` property when specifying `ProjectReference` to a C++/CLI project from a C# project, like this:
11+
`<ProjectReference Include="$(WpfSourceDir)PresentationCore\CPP\PresentationCoreCpp.vcxproj">
12+
<UndefineProperties>TargetFramework;TargetFrameworks</UndefineProperties>
13+
</ProjectReference>`
14+
15+
### Deprecated Compiler Features
16+
17+
- /nowarn:D9035 is now being passed to build.ps1 in order to suppress the following C++ compiler warnings:
18+
- cl : Command line error D9035: option 'clr:pure' has been deprecated and will be removed in a future release
19+
- cl : Command line error D9035: option 'Zc:forScope-' has been deprecated and will be removed in a future release
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
### Local Markup Compilation
2+
3+
This repo builds PresentationBuildTasks.dll and the WindowsDesktop SDK itself, which are needed for markup-compilation.
4+
5+
Some of the projects in this repo require Markup Compilation themselves - for e.g., theme assemblies.
6+
7+
Here, we outline the scheme used by this repo to bootstrap markup compilation before a full-fledged WindowsDesktop SDK is available. All projects in this repo are base .NET Core SDK projects that utilize additional props/targets outlined below to enable markup compilation.
8+
9+
Local Markup Compilation is implemented in the following files:
10+
11+
- eng\WpfArcadeSdk\tools\Pbt.props
12+
- eng\WpfArcadeSdk\tools\Pbt.targets
13+
- eng\WpfArcadeSdk\tools\NoInternalTypeHelper.targets
14+
15+
16+
See comments in these targets for further details. Some additional work is needed to make this work completely.
17+
It can be enabled for a project by setting this:
18+
19+
```
20+
<PropertyGroup>
21+
<InternalMarkupCompilation>true</InternalMarkupCompilation>
22+
</PropertyGroup>
23+
```
24+
25+
Also, it's a good idea to use the following properties:
26+
27+
```
28+
<PropertyGroup>
29+
<NoInternalTypeHelper>true</NoInternalTypeHelper>
30+
<GenerateDependencyFile>false<GenerateDependencyFile>
31+
</PropertyGroup>
32+
```
33+
34+
Please take a look at `src\Microsoft.DotNet.Wpf\src\PresentationUI\PresentationUI.csproj` to see how this is utilized.
35+
36+
37+
In addition to these, care must be taken for the following:
38+
39+
- Use `<EmbeddedResource>` instead of `<Resource>`
40+
- `PresentationBuildTask` will strip out `<Resource>` items during `_CompileTemporaryAssembly` phase. Using `EmbeddedResource` is equivalent (esp. in for `Xlf` based string resource generation with `Arcade.Sdk`) and will not be adversely affected by `PresentationBuildTasks` transformations.
41+
- Always use `<NetCoreReference>` instead of implicitly acquiring the full set of `Microsoft.NetCore.App` references.
42+
- `Microsoft.NetCore.App` contains a version `WindowsBase` that clashes with WPF's `WindowsBase` during markup compilation.
43+
- To avoid this clash, we must always specify the references we need explicitly.
44+
- Also, our code-base requires that all references be specified explicitly anyway to avoid inadvertent reference-creep to bug-fixes.

0 commit comments

Comments
 (0)