Skip to content

Merge .NET Framework interop docs into standard folder#54717

Open
gewarren wants to merge 7 commits into
dotnet:mainfrom
gewarren:combine-interop
Open

Merge .NET Framework interop docs into standard folder#54717
gewarren wants to merge 7 commits into
dotnet:mainfrom
gewarren:combine-interop

Conversation

@gewarren

@gewarren gewarren commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Fixes #53688.


Internal previews

Toggle expand/collapse
📄 File 🔗 Preview link
docs/standard/native-interop/blittable-and-non-blittable-types.md Blittable and Non-Blittable Types
docs/standard/native-interop/callback-functions.md "Callback Functions"
docs/standard/native-interop/calling-a-dll-function.md Calling a DLL Function
docs/standard/native-interop/com-interop-sample-com-client-and-net-server.md docs/standard/native-interop/com-interop-sample-com-client-and-net-server
docs/standard/native-interop/com-interop-sample-net-client-and-com-server.md COM interop sample: .NET client and COM server
docs/standard/native-interop/compiling-an-interop-project.md Compile an interop project
docs/standard/native-interop/consuming-unmanaged-dll-functions.md Consuming Unmanaged DLL Functions
docs/standard/native-interop/creating-a-class-to-hold-dll-functions.md "Creating a Class to Hold DLL Functions"
docs/standard/native-interop/creating-prototypes-in-managed-code.md Creating Prototypes in Managed Code
docs/standard/native-interop/default-marshalling-behavior.md docs/standard/native-interop/default-marshalling-behavior
docs/standard/native-interop/default-marshalling-for-arrays.md Default Marshalling for Arrays
docs/standard/native-interop/default-marshalling-for-objects.md "Default Marshalling for Objects"
docs/standard/native-interop/default-marshalling-for-strings.md Default marshalling for strings
docs/standard/native-interop/deploying-an-interop-application.md Deploy an interop application
docs/standard/native-interop/exposing-com-components.md docs/standard/native-interop/exposing-com-components
docs/standard/native-interop/exposing-dotnet-components-to-com.md Expose .NET components to COM
docs/standard/native-interop/how-to-add-references-to-type-libraries.md "Add references to type libraries"
docs/standard/native-interop/how-to-implement-callback-functions.md How to: Implement callback functions
docs/standard/native-interop/how-to-map-hresults-and-exceptions.md How to: Map HRESULTs and exceptions
docs/standard/native-interop/how-to-reference-net-types-from-com.md Reference .NET types from COM
docs/standard/native-interop/identifying-functions-in-dlls.md docs/standard/native-interop/identifying-functions-in-dlls
docs/standard/native-interop/importing-a-type-library-as-an-assembly.md Import a type library as an assembly
docs/standard/native-interop/interop-marshalling.md "Interop Marshaling"
docs/standard/native-interop/marshalling-classes-structures-and-unions.md Marshalling Classes, Structures, and Unions
docs/standard/native-interop/marshalling-data-with-platform-invoke.md docs/standard/native-interop/marshalling-data-with-platform-invoke
docs/standard/native-interop/marshalling-strings.md Marshalling Strings
docs/standard/native-interop/packaging-an-assembly-for-com.md Package a .NET Framework assembly for COM
docs/standard/native-interop/platform-invoke-examples.md "Platform Invoke Examples"
docs/standard/native-interop/registering-assemblies-with-com.md Register .NET Framework assemblies with COM
docs/standard/native-interop/type-equivalence-and-embedded-interop-types.md docs/standard/native-interop/type-equivalence-and-embedded-interop-types

Note

This table shows preview links for the 30 files with the most changes. For preview links for other files in this PR, select OpenPublishing.Build Details within checks.

Copilot AI review requested due to automatic review settings July 8, 2026 21:22
@dotnetrepoman dotnetrepoman Bot added this to the July 2026 milestone Jul 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates legacy .NET Framework interop documentation into docs/standard/native-interop, updates references across the repo to the new locations, and expands TOC coverage so the migrated content remains discoverable.

Changes:

  • Repoint cross-links from docs/framework/interop/* to docs/standard/native-interop/* across multiple doc sets (Visual Basic, C#, F#, security, analyzers, etc.).
  • Refresh migrated native/COM interop articles with updated titles, notes that scope guidance to .NET Framework vs modern .NET, updated metadata, and new/additional supporting content (snippets/media).
  • Restructure navigation by enhancing docs/navigate/advanced-programming/toc.yml and removing the old docs/framework/interop TOC entry/files.

Reviewed changes

Copilot reviewed 82 out of 100 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/visual-basic/programming-guide/com-interop/walkthrough-calling-windows-apis.md Updated interop links to point to standard/native-interop.
docs/visual-basic/programming-guide/com-interop/introduction-to-com-interop.md Updated interop links to point to standard/native-interop.
docs/visual-basic/programming-guide/com-interop/index.md Updated related-section links to standard/native-interop.
docs/visual-basic/programming-guide/com-interop/how-to-call-windows-apis.md Updated P/Invoke-related links to standard/native-interop.
docs/visual-basic/programming-guide/com-interop/com-interoperability-in-net-framework-applications.md Updated unmanaged interop links to standard/native-interop.
docs/visual-basic/language-reference/error-messages/bc40059.md Updated unmanaged interop link to standard/native-interop.
docs/visual-basic/language-reference/error-messages/bc30828.md Updated prototype/interop link to standard/native-interop.
docs/standard/security/impersonating-and-reverting.md Updated unmanaged interop references to standard/native-interop.
docs/standard/native-interop/type-equivalence-and-embedded-interop-types.md Updated metadata and framing to cover .NET + .NET Framework introduction context.
docs/standard/native-interop/specifying-an-entry-point.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/specifying-a-character-set.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/Program.vb Added VB sample project entry point for snippet buildability.
docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/PInvokeLibManaged.vbproj Added VB project file for snippet buildability.
docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/vb/PInvokeLibManaged/NativeMethods.vb Added VB P/Invoke declarations and managed type definitions for snippets.
docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/Program.cs Added C# sample project entry point for snippet buildability.
docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/PInvokeLibManaged.csproj Added C# project file for snippet buildability.
docs/standard/native-interop/snippets/marshalling-data-with-platform-invoke/csharp/PInvokeLibManaged/NativeMethods.cs Added C# P/Invoke declarations and managed type definitions for snippets.
docs/standard/native-interop/runtime-callable-wrapper.md Updated link to use new in-folder type library import article.
docs/standard/native-interop/registration-free-com-interop.md Updated title casing, added .NET Framework scoping note, and refreshed terminology.
docs/standard/native-interop/registering-assemblies-with-com.md Refined .NET Framework-specific guidance and updated headings/links/metadata.
docs/standard/native-interop/qualify-net-types-for-interoperation.md Updated internal links to migrated COM interop pages.
docs/standard/native-interop/platform-invoke-examples.md Updated metadata and keywords to align with .NET (not only .NET Framework).
docs/standard/native-interop/passing-structures.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/packaging-an-assembly-for-com.md Updated title/metadata and added .NET Framework scoping note with modern .NET pointers.
docs/standard/native-interop/msgbox-sample.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/media/interop-marshaling/single-process-across-multi-apartment.gif Added migrated diagram asset.
docs/standard/native-interop/media/interop-marshaling/interop-remote-soap-or-tcp.gif Added migrated diagram asset.
docs/standard/native-interop/media/interop-marshaling/interop-heaps-managed-and-unmanaged.gif Added migrated diagram asset.
docs/standard/native-interop/media/interop-marshaling/interop-direct-ref-across-process.gif Added migrated diagram asset.
docs/standard/native-interop/media/interop-marshaling/interop-and-com-marshaling.gif Added migrated diagram asset.
docs/standard/native-interop/media/deploying-an-interop-application/com-private-deployment.gif Added migrated diagram asset.
docs/standard/native-interop/media/default-marshaling-for-objects/interop-variant-passed-value-reference.gif Added migrated diagram asset.
docs/standard/native-interop/media/copying-and-pinning/interop-marshal-copy.gif Added migrated diagram asset.
docs/standard/native-interop/media/consuming-unmanaged-dll-functions/platform-invoke-call.gif Added migrated diagram asset.
docs/standard/native-interop/media/callback-functions/platform-invoke-callback-process.gif Added migrated diagram asset.
docs/standard/native-interop/marshalling-strings.md Updated metadata and adjusted wording to be .NET-centric.
docs/standard/native-interop/marshalling-different-types-of-arrays.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/marshalling-data-with-platform-invoke.md Updated metadata and removed duplicated ai-usage frontmatter entry.
docs/standard/native-interop/marshalling-data-with-com-interop.md Updated title/metadata and corrected/modernized links/wording.
docs/standard/native-interop/marshalling-classes-structures-and-unions.md Updated metadata and adjusted wording from “.NET Framework” to “.NET” where appropriate.
docs/standard/native-interop/marshalling-a-delegate-as-a-callback-method.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/interop-marshalling.md Updated tool links to docs/framework/tools/* and refreshed wording.
docs/standard/native-interop/index.md Updated metadata and added explicit COM interop section to the native interop hub.
docs/standard/native-interop/importing-a-type-library-as-an-assembly.md Updated title/metadata and added .NET Framework scoping note + updated links.
docs/standard/native-interop/identifying-functions-in-dlls.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/how-to-register-primary-interop-assemblies.md Updated title/metadata, added .NET Framework scoping note, and fixed tool links.
docs/standard/native-interop/how-to-reference-net-types-from-com.md Updated title/metadata, added .NET Framework scoping note, and updated “See also” links.
docs/standard/native-interop/how-to-migrate-managed-code-dcom-to-wcf.md Updated title/metadata and fixed WCF link paths to docs/framework/wcf/*.
docs/standard/native-interop/how-to-map-hresults-and-exceptions.md Updated title/metadata and wording to remove .NET Framework-only phrasing.
docs/standard/native-interop/how-to-implement-callback-functions.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/how-to-generate-primary-interop-assemblies-using-tlbimp-exe.md Updated title/metadata, added .NET Framework scoping note, and fixed tool links.
docs/standard/native-interop/how-to-generate-interop-assemblies-from-type-libraries.md Added new migrated “generate interop assemblies” article under standard/native-interop.
docs/standard/native-interop/how-to-create-wrappers-manually.md Updated title/metadata, added .NET Framework scoping note, and fixed tool links.
docs/standard/native-interop/how-to-create-com-wrappers.md Updated title/metadata, added .NET Framework scoping note, and fixed tool links.
docs/standard/native-interop/how-to-add-references-to-type-libraries.md Updated title/metadata, added .NET Framework scoping note, and updated internal links.
docs/standard/native-interop/exposing-dotnet-components-to-com.md Updated title/metadata, added .NET Framework scoping note, and clarified legacy requirements.
docs/standard/native-interop/exposing-com-components.md Updated title/metadata, added .NET Framework scoping note, and adjusted wording/links.
docs/standard/native-interop/deploying-an-interop-application.md Updated title/metadata, added .NET Framework scoping note, and updated tool links.
docs/standard/native-interop/default-marshalling-for-strings.md Updated ms.date and adjusted a few lines to remove “.NET Framework format” phrasing.
docs/standard/native-interop/default-marshalling-for-objects.md Updated metadata and corrected/modernized marshalling text.
docs/standard/native-interop/default-marshalling-for-arrays.md Updated metadata and tool links to docs/framework/tools/*.
docs/standard/native-interop/default-marshalling-behavior.md Updated metadata and adjusted wording from “.NET Framework” to “.NET runtime”.
docs/standard/native-interop/creating-prototypes-in-managed-code.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/creating-a-class-to-hold-dll-functions.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/copying-and-pinning.md Updated ms.date.
docs/standard/native-interop/consuming-unmanaged-dll-functions.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/configure-net-framework-based-com-components-for-reg.md Updated title/metadata, added .NET Framework scoping note, and refined terminology.
docs/standard/native-interop/compiling-an-interop-project.md Updated title/metadata, added .NET Framework scoping note, and updated links.
docs/standard/native-interop/cominterop.md Updated ms.date and refreshed introductory COM interop wording.
docs/standard/native-interop/com-interop-sample-net-client-and-com-server.md Updated title/metadata and related link text/casing.
docs/standard/native-interop/com-interop-sample-com-client-and-net-server.md Updated title/metadata and section headings for sentence case.
docs/standard/native-interop/com-callable-wrapper.md Updated internal link to point to migrated COM-exposing article.
docs/standard/native-interop/calling-a-dll-function.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/callback-functions.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/blittable-and-non-blittable-types.md Updated metadata (ms.date, ai-usage).
docs/standard/native-interop/best-practices.md Updated internal links to point to migrated native-interop pages.
docs/standard/native-interop/apply-interop-attributes.md Updated internal links to point to migrated COM interop pages.
docs/standard/managed-execution-process.md Updated unmanaged interop link to standard/native-interop.
docs/standard/exceptions/handling-com-interop-exceptions.md Updated HRESULT mapping link to standard/native-interop.
docs/standard/assembly/create.md Updated COM interop guidance link to standard/native-interop.
docs/navigate/advanced-programming/toc.yml Expanded native interop/COM interop TOC coverage and reorganized P/Invoke/marshalling entries.
docs/fundamentals/code-analysis/quality-rules/ca1838.md Updated marshalling links to standard/native-interop.
docs/fundamentals/code-analysis/quality-rules/ca1815.md Updated blittable/non-blittable types link to standard/native-interop.
docs/fundamentals/code-analysis/quality-rules/ca1418.md Updated interoperability rules link to standard/native-interop.
docs/fundamentals/code-analysis/quality-rules/ca1416.md Updated interoperability rules link to standard/native-interop.
docs/fundamentals/code-analysis/quality-rules/ca1017.md Updated unmanaged interop link to standard/native-interop.
docs/fsharp/language-reference/functions/external-functions.md Updated unmanaged interop link to standard/native-interop.
docs/framework/toc.yml Removed the framework interop TOC entry (content now under standard/native-interop).
docs/framework/interop/toc.yml Removed obsolete framework interop TOC file.
docs/framework/interop/index.md Removed obsolete framework interop hub page (superseded by standard/native-interop/index.md).
docs/framework/interop/how-to-generate-interop-assemblies-from-type-libraries.md Removed obsolete framework version of “generate interop assemblies” article (migrated to standard/native-interop).
docs/csharp/whats-new/csharp-version-history.md Updated embedded interop types link to standard/native-interop.
docs/csharp/language-reference/compiler-messages/generic-type-parameters-errors.md Updated blittable types link target to standard/native-interop.
docs/csharp/language-reference/compiler-messages/cs8355.md Updated default marshalling behavior link to standard/native-interop.
docs/csharp/language-reference/compiler-messages/cs1762.md Updated unmanaged interop link to standard/native-interop.
docs/csharp/advanced-topics/interop/index.md Updated interop links to standard/native-interop.
docs/csharp/advanced-topics/interop/how-to-use-platform-invoke-to-play-a-wave-file.md Updated platform invoke links to standard/native-interop.

Comment thread docs/standard/native-interop/cominterop.md
Comment thread docs/navigate/advanced-programming/toc.yml Outdated
Comment thread docs/standard/native-interop/compiling-an-interop-project.md Outdated
Comment thread docs/standard/native-interop/compiling-an-interop-project.md Outdated
Comment thread docs/standard/native-interop/deploying-an-interop-application.md Outdated
Comment thread docs/standard/native-interop/deploying-an-interop-application.md Outdated
Comment thread docs/standard/native-interop/exposing-com-components.md Outdated
Comment thread docs/standard/native-interop/type-equivalence-and-embedded-interop-types.md Outdated
@gewarren gewarren marked this pull request as ready for review July 9, 2026 00:32
@gewarren gewarren requested review from a team, BillWagner, adegeo and jkoritzinsky as code owners July 9, 2026 00:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Combine interop sections of docs

2 participants