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.
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.
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.
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\
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].