acbf8ade62
As nothing is actually visible in this assembly we were trying to leave it out of the ref package. C# needs the types to be there when it compiles interface casts. This adds the assembly to the ref and excludes looking for intellisense files. |
||
---|---|---|
.. | ||
sdk | ||
Directory.Build.targets | ||
Microsoft.Private.Winforms.csproj | ||
README.md |
README.md
Overview
This is a transport package consumed by WPF and WindowsDesktop. Some packaging configurations are defined in this project, and others are defined in <repo root>\eng\packageContent.targets.
sdk\dotnet-windowsdesktop
folder
This folder contains props and targets used to ingest our assemblies into the Windows Desktop SDK for purpose of bundling of our analyzers into Microsoft.WindowsDesktop.App.Ref pack.
System.Windows.Forms.FileClassification.props
contains a manifest for the "WindowsForms" SDK¹, i.e. a list of our assemblies that form it. The file is imported by Microsoft.WindowsDesktop.App.Ref project.
The manifest will need to be rebuilt if there are changes in the solution with respect to the SDK assemblies, e.g. a new assembly is added or an existing assembly is removed.
How to update System.Windows.Forms.FileClassification.props
The existing System.Windows.Forms.FileClassification.props
is be compared against the list of assemblies in Microsoft.Private.Winforms.[version].nuspec
² generated as part of the pack
command.
If the content of these files differ - the build will fail.
⚠️ The process is purposefully made manual to ensure changes in the manifest are made consciously.
To update the manifest run the following command and check in the updated files manifest:
.\build.cmd -pack /p:_GenerateManifest=true
To debug the script run the following command:
dotnet build .\pkg\Microsoft.Private.Winforms\Microsoft.Private.Winforms.csproj /t:UpdateTransportPackage /p:_GenerateManifest=true /v:m /bl /p:CommonLibrary_NativeInstallDir=$env:UserProfile\.netcoreeng\native\
sdk\dotnet-wpf
folder
This folder contains props and targets that are part of Windows Desktop SDK (which is hosted and assembled in dotnet/wpf). These files are referenced the Microsoft.NET.Sdk.WindowsDesktop project's props and targets located here. When this project is being built, it copies the files from our transport NuGet package to a Microsoft.NET.Sdk.WindowsDesktop bundle.
-
Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props
contains various Windows Forms specific configurations, such as our defaultusing
imports. -
Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.targets
contains various Windows Forms specific targets. -
System.Windows.Forms.Analyzers.props
contains a list of properties required by our source generators.
1. Except for Accessibility.dll
which is noted explicitly.
2. Generated in .\winforms\artifacts\obj\Microsoft.Private.Winforms\[Debug|Release].