You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This change standardizes assembly metadata across all 101 managed projects by enforcing the CommonAssemblyInfoTemplate policy and restoring custom attributes lost during previous migrations.
Key changes:
- Added `scripts/GenerateAssemblyInfo/` automation suite:
- `audit_generate_assembly_info.py`: Inventories project state (Template-only vs. Custom).
- `convert_generate_assembly_info.py`: Links `Src/CommonAssemblyInfo.cs`, sets `<GenerateAssemblyInfo>false`, and restores missing `AssemblyInfo.cs` files from git history.
- `validate_generate_assembly_info.py`: Enforces structural compliance and invokes MSBuild/Reflection checks.
- `reflect_attributes.ps1`: Verifies assembly attributes (Company, Product, Copyright) in build output.
- Updated `Directory.Build.props` to document the new AssemblyInfo policy and disable determinism for wildcard versioning.
- Updated `.github/instructions/managed.instructions.md` with developer guidelines for the template.
- Finalized `specs/002-convergence-generate-assembly-Implement GenerateAssemblyInfo template reintegration (Spec 002)
This change standardizes assembly metadata across all 101 managed projects by enforcing the CommonAssemblyInfoTemplate policy and restoring custom attributes lost during previous migrations.
Key changes:
- Added `scripts/GenerateAssemblyInfo/` automation suite:
- `audit_generate_assembly_info.py`: Inventories project state (Template-only vs. Custom).
- `convert_generate_assembly_info.py`: Links `Src/CommonAssemblyInfo.cs`, sets `<GenerateAssemblyInfo>false`, and restores missing `AssemblyInfo.cs` files from git history.
- `validate_generate_assembly_info.py`: Enforces structural compliance and invokes MSBuild/Reflection checks.
- `reflect_attributes.ps1`: Verifies assembly attributes (Company, Product, Copyright) in build output.
- Updated `Directory.Build.props` to document the new AssemblyInfo policy and disable determinism for wildcard versioning.
- Updated `.github/instructions/managed.instructions.md` with developer guidelines for the template.
- Finalized `specs/002-convergence-generate-assembly-
Copy file name to clipboardExpand all lines: .github/instructions/managed.instructions.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,11 @@ This file describes conventions, deterministic requirements, and best practices
23
23
## Key Rules
24
24
- Use existing patterns for localization, unit tests, and avoid runtime-incompatible behaviors.
25
25
- Keep public APIs stable and documented with XML docs.
26
+
-**AssemblyInfo Policy**:
27
+
- All managed projects must link `Src/CommonAssemblyInfo.cs` via `<Compile Include="..\..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />`.
28
+
- Set `<GenerateAssemblyInfo>false</GenerateAssemblyInfo>` to prevent SDK duplicate attribute errors.
29
+
- Restore and maintain project-specific `AssemblyInfo*.cs` files if custom attributes are required.
30
+
- Use `scripts/GenerateAssemblyInfo/validate_generate_assembly_info.py` to verify compliance.
26
31
27
32
## Test exclusion conversion playbook (Pattern A standard)
28
33
- Always prefer explicit `<ProjectName>Tests/**` exclusions. For nested test folders add matching explicit entries (for example `Component/ComponentTests/**`).
0 commit comments