Merged
Conversation
- Add gen_pnse_source rule and GenNotSupportedSource tool to generate .notsupported.cs stubs from ref assembly sources, matching MSBuild's GeneratePlatformNotSupportedAssemblyMessage behavior. - Fix PNSE assemblies (Microsoft.Win32.Registry, System.IO.Pipes.AccessControl, System.Threading.AccessControl, System.Runtime.InteropServices.JavaScript): Replace System.Void.cs with generated .notsupported.cs stubs and add resx_file for SR resource strings. - Fix System.Runtime.Serialization.Formatters: Replace 30 Binary Formatter impl files with BinaryFormatter.Removed.cs stub, matching MSBuild's NetCoreAppCurrent behavior (FunctioningBinaryFormatter=false). - Add resource_class_name plumbing through csharp_library (defs.bzl) and netcoreapp_impl_assembly (src/libraries/defs.bzl) for future use. - Add pnse_message/pnse_ref_srcs parameters to netcoreapp_impl_assembly for declarative PNSE stub generation. - Update managed-assembly-manifest.txt comments and docs/bazel.md to reflect current state. Remaining diffs (not addressed): - System: needs System.Private.Uri dep but causes CS0433 with ref_System.Runtime - System.Private.CoreLib: SR.cs class name conflict with Common/SR.cs - System.Net.Quic: needs full Linux impl (~86 source files) - 14 non-archive assemblies: differ by design (precise deps vs targeting pack) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move GenFacades, GenNotSupportedSource, GenerateResxSource, ResGen, and test_proj2bazel into src/tools/bazel/ to consolidate all Bazel-specific tooling in one location alongside BuildEquivalenceCheck. Update all label references in defs.bzl and src/libraries/defs.bzl. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
System shim: Convert deps from ref_ to impl_ assemblies, matching MSBuild's CompileUsingReferenceAssemblies=false behavior. Add impl_System.Private.Uri and ref_System.Private.CoreLib. This avoids the CS0433 conflict that occurred when mixing ref_System.Runtime (which declares Uri stubs) with impl_System.Private.Uri (which has actual Uri types). The impl_System.Runtime only has type forwards, so no conflict. CoreLib: Add omit_getresourcestring support to gen_resx_source rule and GenerateResxSource tool. Set resource_class_name=System.SR and omit_getresourcestring=True on CoreLib, matching MSBuild's GenerateResxSourceOmitGetResourceString=true. The generated SR.cs now contains only property accessors (no GetResourceString method), which merges cleanly with Common/src/System/SR.cs as a partial class. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Set EnableUnsafeBinaryFormatterSerialization to false in the test runtimeconfig, matching MSBuild behavior. With BinaryFormatter.Removed.cs in the runtime, tests using BinaryFormatter are now properly skipped via PlatformDetection.IsBinaryFormatterSupported instead of failing with PlatformNotSupportedException. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add gen_pnse_source rule and GenNotSupportedSource tool to generate
.notsupported.cs stubs from ref assembly sources, matching MSBuild's
GeneratePlatformNotSupportedAssemblyMessage behavior.
Fix PNSE assemblies (Microsoft.Win32.Registry, System.IO.Pipes.AccessControl,
System.Threading.AccessControl, System.Runtime.InteropServices.JavaScript):
Replace System.Void.cs with generated .notsupported.cs stubs and add
resx_file for SR resource strings.
System shim: Convert deps from ref_ to impl_ assemblies, matching
MSBuild's CompileUsingReferenceAssemblies=false behavior. Add
impl_System.Private.Uri and ref_System.Private.CoreLib. This avoids
the CS0433 conflict that occurred when mixing ref_System.Runtime
(which declares Uri stubs) with impl_System.Private.Uri (which has
actual Uri types). The impl_System.Runtime only has type forwards,
so no conflict.
CoreLib: Add omit_getresourcestring support to gen_resx_source rule
and GenerateResxSource tool. Set resource_class_name=System.SR and
omit_getresourcestring=True on CoreLib, matching MSBuild's
GenerateResxSourceOmitGetResourceString=true. The generated SR.cs
now contains only property accessors (no GetResourceString method),
which merges cleanly with Common/src/System/SR.cs as a partial class.