Skip to content

Conversation

jkoritzinsky
Copy link
Member

Contributes to #75966

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request modernizes package creation by replacing legacy .pkgproj projects with .NET SDK's native pack support, directly implementing package metadata in the source projects themselves.

Key Changes:

  • Converted ILVerify, ILVerification, and ILCompiler.Reflection.ReadyToRun to use SDK-style packaging
  • Migrated Microsoft.NET.Sdk.IL from .pkgproj to .proj with SDK-style packaging
  • Consolidated shared packaging logic into reusable pkgproj.props and pkgproj.targets files

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
ILCompiler.Reflection.ReadyToRun.csproj Added IsPackable and package metadata properties
ILVerify.csproj Added packaging properties for dotnet tool support
ILVerification.csproj Added package metadata and release notes
pkgproj.targets New shared packaging targets for symbol file handling
pkgproj.props New shared packaging properties for .pkgproj projects
dotnet-ilverify.pkgproj Deleted legacy packaging project
DotnetToolSettings.xml Deleted obsolete tool settings file
coreclr-packages.proj Updated to reference new SDK-style projects
Microsoft.NET.Sdk.IL.proj New SDK-style packaging project
Microsoft.NET.Sdk.IL.pkgproj Deleted legacy packaging project
Microsoft.NET.Sdk.IL/Directory.Build.targets New targets file with packaging logic
Microsoft.NET.Sdk.IL/Directory.Build.props New props file to control pkgproj usage
Microsoft.ILVerification.pkgproj Deleted legacy packaging project
ILCompiler.Reflection.ReadyToRun.Experimental.pkgproj Deleted legacy packaging project
.nuget/Directory.Build.targets Simplified to import shared pkgproj.targets conditionally
.nuget/Directory.Build.props Simplified to import shared pkgproj.props conditionally
Subsets.props Added ILVerify and ILVerification to build list

<Project Sdk="Microsoft.Build.NoTargets">

<PropertyGroup>
<PackageType>DotNetSdk</PackageType>
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

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

The package type should be 'MSBuildSdk' to match the original .pkgproj file, not 'DotNetSdk'.

Suggested change
<PackageType>DotNetSdk</PackageType>
<PackageType>MSBuildSdk</PackageType>

Copilot uses AI. Check for mistakes.


<GenerateFileFromTemplate TemplateFile="$(ILTargetsTemplateFile)"
OutputPath="$(ILTargetsOutputFile)"
Properties="IlAsmVersion=$(Version)">
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

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

The property should use $(PackageVersion) instead of $(Version) to match the original .pkgproj behavior, which used CalculatePackageVersion.

Suggested change
Properties="IlAsmVersion=$(Version)">
Properties="IlAsmVersion=$(PackageVersion)">

Copilot uses AI. Check for mistakes.

Copy link
Contributor

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

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

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant