Skip to content

Replace deprecated type exclusion in project with attribute#394

Merged
josesimoes merged 2 commits into
developfrom
update-exclusion-config
May 27, 2026
Merged

Replace deprecated type exclusion in project with attribute#394
josesimoes merged 2 commits into
developfrom
update-exclusion-config

Conversation

@josesimoes
Copy link
Copy Markdown
Member

Description

  • Remove entries from nfproj file and replace with attributes.

Motivation and Context

How Has This Been Tested?

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue with code or algorithm)
  • New feature (non-breaking change which adds functionality to code)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

  • My code follows the code style of this project (only if there are changes in source code).
  • My changes require an update to the documentation (there are changes that require the docs website to be updated).
  • I have updated the documentation accordingly (the changes require an update on the docs in this repo).
  • I have read the CONTRIBUTING document.
  • I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
  • I have added new tests to cover my changes.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: nanoframework/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 25472ff1-639a-45bf-bf9e-6d3db893867c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR migrates type exclusion configuration in nanoFramework.System.Net from MSBuild project settings to semantic code attributes. Twelve types across socket, network configuration, and security namespaces are now decorated with [ExcludeType], replacing the centralized NFMDP_PE_ExcludeClassByName build configuration.

Changes

Type exclusion attribute application

Layer / File(s) Summary
Socket namespace enum exclusions
nanoFramework.System.Net/Sockets/AddressFamily.cs, ProtocolFamily.cs, ProtocolType.cs, SelectMode.cs, SocketErrors.cs, SocketFlags.cs, SocketOptionLevel.cs, SocketOptionName.cs, SocketType.cs
Nine socket enums are each decorated with [ExcludeType] and their files import System.Runtime.CompilerServices to enable the attribute.
Network configuration and security type exclusions
nanoFramework.System.Net/NetworkHelper/IPConfiguration.cs, NetworkInformation/NetworkInformationOptions.cs, NetworkInformation/WirelessAPStation.cs, Security/NetworkSecurity.cs
Four types (IPConfiguration class, NetworkInformationOptions enum, PhyProtocols enum, SslVerification enum) are decorated with [ExcludeType], with CompilerServices imports added as needed.
Remove obsolete MSBuild exclusion configuration
nanoFramework.System.Net/System.Net.nfproj
The NFMDP_PE_ExcludeClassByName ItemGroup is removed, replacing build-time configuration with declarative attribute-based type exclusion. Project file formatting is normalized.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: replacing deprecated type exclusion configuration in the project file with attributes on the type declarations.
Description check ✅ Passed The description is related to the changeset, explaining the core objective of removing nfproj entries and replacing them with attributes, though it lacks detail on motivation and testing.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@josesimoes
Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@nfbot
Copy link
Copy Markdown
Member

nfbot commented May 27, 2026

🛑 Native version bump required — now resolved.

Checksum changed from 0x48CC063D to 0xFD3B5E5F. Native version was not bumped (100.20.0.1) — this has since been corrected to 100.20.0.2.

@nfbot
Copy link
Copy Markdown
Member

nfbot commented May 27, 2026

⚠️ Native declaration update required!

The checksum and/or native version of nanoFramework.System.Net have changed. The native declaration in nf-interpreter must be updated before this package can be released.

Previously published This build
Native version 100.20.0.1 100.20.0.2
Checksum 0x48CC063D 0xFD3B5E5F

👉 Tracking issue: nanoframework/Home#1753

The issue contains a link to the stubs artifact from this build and instructions for GitHub Copilot to perform the update.

@josesimoes josesimoes merged commit f22a704 into develop May 27, 2026
7 of 8 checks passed
@josesimoes josesimoes deleted the update-exclusion-config branch May 27, 2026 15:35
@josesimoes
Copy link
Copy Markdown
Member Author

@nfbot updatedependencies develop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants