Skip to content

Refactor Source Generator#253

Open
igoravl wants to merge 58 commits intomainfrom
refactor-src-gen
Open

Refactor Source Generator#253
igoravl wants to merge 58 commits intomainfrom
refactor-src-gen

Conversation

@igoravl
Copy link
Copy Markdown
Owner

@igoravl igoravl commented Sep 23, 2025

No description provided.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 23, 2025

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit 64b1be6.

♻️ This comment has been updated with latest results.

Copilot AI review requested due to automatic review settings April 9, 2026 07:45
Copy link
Copy Markdown
Contributor

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

Note

Copilot was unable to run its full agentic suite in this review.

Refactors the source-generator unit test harness and expands snapshot-based verification for generated cmdlets/controllers, while adjusting shared attributes/interfaces to support the refactor.

Changes:

  • Adds a module initializer + Roslyn reference loader to simplify generator test setup.
  • Introduces/updates many Verify snapshot outputs and corresponding unit tests for cmdlet/controller generation.
  • Moves/opens up shared attributes and interfaces (e.g., HttpClientAttribute, TfsCmdletAttribute, public controller base classes) and updates repo formatting settings for Verify artifacts.

Reviewed changes

Copilot reviewed 235 out of 565 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewUserCmdlet#TfsCmdlets.Cmdlets.Identity.User.NewUser.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewTestPlanCmdlet#TfsCmdlets.Cmdlets.TestManagement.NewTestPlan.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewTeamProjectCollectionCmdlet#TfsCmdlets.Cmdlets.TeamProjectCollection.NewTeamProjectCollection.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewTeamProjectCmdlet#TfsCmdlets.Cmdlets.TeamProject.NewTeamProject.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewTeamCmdlet#TfsCmdlets.Cmdlets.Team.NewTeam.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewReleaseDefinitionFolderCmdlet#TfsCmdlets.Cmdlets.Pipeline.ReleaseManagement.NewReleaseDefinitionFolder.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewProcessTemplateCmdlet#TfsCmdlets.Cmdlets.ProcessTemplate.NewProcessTemplate.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewIterationCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.NewIteration.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewGroupCmdlet#TfsCmdlets.Cmdlets.Identity.Group.NewGroup.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewGitRepositoryCmdlet#TfsCmdlets.Cmdlets.Git.NewGitRepository.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewCredentialCmdlet#TfsCmdlets.Cmdlets.Credential.NewCredential.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewBuildDefinitionFolderCmdlet#TfsCmdlets.Cmdlets.Pipeline.Build.Folder.NewBuildDefinitionFolder.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_NewAreaCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.NewArea.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_MoveIterationCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.MoveIteration.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_MoveAreaCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.MoveArea.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_InvokeRestApiCmdlet#TfsCmdlets.Cmdlets.RestApi.InvokeRestApi.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_InstallExtensionCmdlet#TfsCmdlets.Cmdlets.ExtensionManagement.InstallExtension.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ImportWorkItemTypeCmdlet#TfsCmdlets.Cmdlets.WorkItem.WorkItemType.ImportWorkItemType.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ImportTeamProjectAvatarCmdlet#TfsCmdlets.Cmdlets.TeamProject.Avatar.ImportTeamProjectAvatar.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ImportProcessTemplateCmdlet#TfsCmdlets.Cmdlets.ProcessTemplate.ImportProcessTemplate.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemTypeCmdlet#TfsCmdlets.Cmdlets.WorkItem.WorkItemType.GetWorkItemType.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemTagCmdlet#TfsCmdlets.Cmdlets.WorkItem.Tagging.GetWorkItemTag.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemQueryFolderCmdlet#TfsCmdlets.Cmdlets.WorkItem.Query.Folder.GetWorkItemQueryFolder.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemQueryCmdlet#TfsCmdlets.Cmdlets.WorkItem.Query.GetWorkItemQuery.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemLinkEndTypeCmdlet#TfsCmdlets.Cmdlets.WorkItem.Linking.GetWorkItemLinkType.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemLinkCmdlet#TfsCmdlets.Cmdlets.WorkItem.Linking.GetWorkItemLink.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWorkItemHistoryCmdlet#TfsCmdlets.Cmdlets.WorkItem.History.GetWorkItemHistory.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetWikiCmdlet#TfsCmdlets.Cmdlets.Wiki.GetWiki.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetVersionCmdlet#TfsCmdlets.Cmdlets.Admin.GetVersion.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetUserCmdlet#TfsCmdlets.Cmdlets.Identity.User.GetUser.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTestPlanCmdlet#TfsCmdlets.Cmdlets.TestManagement.GetTestPlan.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTeamProjectMemberCmdlet#TfsCmdlets.Cmdlets.TeamProject.Member.GetTeamProjectMember.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTeamMemberCmdlet#TfsCmdlets.Cmdlets.Team.TeamMember.GetTeamMember.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTeamBoardCmdlet#TfsCmdlets.Cmdlets.Team.Board.GetTeamBoard.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTeamBoardCardRuleCmdlet#TfsCmdlets.Cmdlets.Team.Board.GetTeamBoardCardRule.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTeamBacklogLevelCmdlet#TfsCmdlets.Cmdlets.Team.Backlog.GetTeamBacklogLevel.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetTeamAdminCmdlet#TfsCmdlets.Cmdlets.Team.TeamAdmin.GetTeamAdmin.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetServiceHookSubscriptionCmdlet#TfsCmdlets.Cmdlets.ServiceHook.GetServiceHookSubscription.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetServiceHookPublisherCmdlet#TfsCmdlets.Cmdlets.ServiceHook.GetServiceHookPublisher.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetServiceHookNotificationHistoryCmdlet#TfsCmdlets.Cmdlets.ServiceHook.GetServiceHookNotificationHistory.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetServiceHookConsumerCmdlet#TfsCmdlets.Cmdlets.ServiceHook.GetServiceHookConsumer.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetRestClientCmdlet#TfsCmdlets.Cmdlets.RestApi.GetRestClient.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetReleaseDefinitionFolderCmdlet#TfsCmdlets.Cmdlets.Pipeline.ReleaseManagement.GetReleaseDefinitionFolder.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetReleaseDefinitionCmdlet#TfsCmdlets.Cmdlets.Pipeline.ReleaseManagement.GetReleaseDefinition.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetRegistryValueCmdlet#TfsCmdlets.Cmdlets.Admin.Registry.GetRegistryValue.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetProcessTemplateCmdlet#TfsCmdlets.Cmdlets.ProcessTemplate.GetProcessTemplate.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetOrganizationCmdlet#TfsCmdlets.Cmdlets.Organization.GetOrganization.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetIterationCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.GetIteration.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetInstallationPathCmdlet#TfsCmdlets.Cmdlets.Admin.GetInstallationPath.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetIdentityCmdlet#TfsCmdlets.Cmdlets.Identity.GetIdentity.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGroupMemberCmdlet#TfsCmdlets.Cmdlets.Identity.Group.GetGroupMember.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGroupCmdlet#TfsCmdlets.Cmdlets.Identity.Group.GetGroup.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGitRepositoryCmdlet#TfsCmdlets.Cmdlets.Git.GetGitRepository.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGitPolicyTypeCmdlet#TfsCmdlets.Cmdlets.Git.Policy.GetGitPolicyType.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGitItemCmdlet#TfsCmdlets.Cmdlets.Git.Item.GetGitItem.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGitCommitCmdlet#TfsCmdlets.Cmdlets.Git.Commit.GetGitCommit.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGitBranchPolicyCmdlet#TfsCmdlets.Cmdlets.Git.Policy.GetGitBranchPolicy.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetGitBranchCmdlet#TfsCmdlets.Cmdlets.Git.Branch.GetGitBranch.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetExtensionCmdlet#TfsCmdlets.Cmdlets.ExtensionManagement.GetExtension.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetConfigurationServerConnectionStringCmdlet#TfsCmdlets.Cmdlets.Admin.GetConfigurationServerConnectionString.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetBuildDefinitionFolderCmdlet#TfsCmdlets.Cmdlets.Pipeline.Build.Folder.GetBuildDefinitionFolder.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetBuildDefinitionCmdlet#TfsCmdlets.Cmdlets.Pipeline.Build.Definition.GetBuildDefinition.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetArtifactVersionCmdlet#TfsCmdlets.Cmdlets.Artifact.GetArtifactVersion.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetArtifactFeedViewCmdlet#TfsCmdlets.Cmdlets.Artifact.GetArtifactFeedView.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetArtifactFeedCmdlet#TfsCmdlets.Cmdlets.Artifact.GetArtifactFeed.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetArtifactCmdlet#TfsCmdlets.Cmdlets.Artifact.GetArtifact.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_GetAreaCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.GetArea.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ExportWorkItemTypeCmdlet#TfsCmdlets.Cmdlets.WorkItem.WorkItemType.ExportWorkItemType.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ExportWorkItemQueryCmdlet#TfsCmdlets.Cmdlets.WorkItem.Query.ExportWorkItemQuery.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ExportWorkItemAttachmentCmdlet#TfsCmdlets.Cmdlets.WorkItem.Linking.ExportWorkItemAttachment.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ExportTeamProjectAvatarCmdlet#TfsCmdlets.Cmdlets.TeamProject.Avatar.ExportTeamProjectAvatar.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ExportProcessTemplateCmdlet#TfsCmdlets.Cmdlets.ProcessTemplate.ExportProcessTemplate.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ExitShellCmdlet#TfsCmdlets.Cmdlets.Shell.ExitShell.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_EnterShellCmdlet#TfsCmdlets.Cmdlets.Shell.EnterShell.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_EnableWorkItemTagCmdlet#TfsCmdlets.Cmdlets.WorkItem.Tagging.EnableWorkItemTag.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_EnableGitRepositoryCmdlet#TfsCmdlets.Cmdlets.Git.EnableGitRepository.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_EnableExtensionCmdlet#TfsCmdlets.Cmdlets.ExtensionManagement.EnableExtension.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_EnableBuildDefinitionCmdlet#TfsCmdlets.Cmdlets.Pipeline.Build.Definition.EnableBuildDefinition.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisconnectTeamProjectCollectionCmdlet#TfsCmdlets.Cmdlets.TeamProjectCollection.DisconnectTeamProjectCollection.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisconnectTeamProjectCmdlet#TfsCmdlets.Cmdlets.TeamProject.DisconnectTeamProject.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisconnectTeamCmdlet#TfsCmdlets.Cmdlets.Team.DisconnectTeam.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisconnectOrganizationCmdlet#TfsCmdlets.Cmdlets.Organization.DisconnectOrganization.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisableWorkItemTagCmdlet#TfsCmdlets.Cmdlets.WorkItem.Tagging.DisableWorkItemTag.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisableGitRepositoryCmdlet#TfsCmdlets.Cmdlets.Git.DisableGitRepository.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisableExtensionCmdlet#TfsCmdlets.Cmdlets.ExtensionManagement.DisableExtension.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_DisableBuildDefinitionCmdlet#TfsCmdlets.Cmdlets.Pipeline.Build.Definition.DisableBuildDefinition.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_CopyTestPlanCmdlet#TfsCmdlets.Cmdlets.TestManagement.CopyTestPlan.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_CopyIterationCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.CopyIteration.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_CopyAreaCmdlet#TfsCmdlets.Cmdlets.WorkItem.AreasIterations.CopyArea.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ConnectTeamProjectCollectionCmdlet#TfsCmdlets.Cmdlets.TeamProjectCollection.ConnectTeamProjectCollection.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ConnectTeamProjectCmdlet#TfsCmdlets.Cmdlets.TeamProject.ConnectTeamProject.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_ConnectOrganizationCmdlet#TfsCmdlets.Cmdlets.Organization.ConnectOrganization.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_AddWorkItemLinkCmdlet#TfsCmdlets.Cmdlets.WorkItem.Linking.AddWorkItemLink.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_AddTeamMemberCmdlet#TfsCmdlets.Cmdlets.Team.TeamMember.AddTeamMember.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_AddTeamAdminCmdlet#TfsCmdlets.Cmdlets.Team.TeamAdmin.AddTeamAdmin.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/_Verify/CmdletGenerator/CanGenerate_AddGroupMemberCmdlet#TfsCmdlets.Cmdlets.Identity.Group.AddGroupMember.g.verified.cs Adds Verify snapshot for generated cmdlet output
CSharp/TfsCmdlets.SourceGenerators.UnitTests/RoslynReferenceHelper.cs Adds helper to load Roslyn metadata references for tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/ModuleInitializer.cs Adds Verify init via module initializer
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/WorkItem/WorkItemsControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/WorkItem/WorkItemType/WorkItemTypeControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/WorkItem/Tagging/TaggingControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/WorkItem/Linking/LinkingControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/WorkItem/History/HistoryControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Wiki/WikiControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/TestManagement/TestManagementControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/TeamProjectCollection/TeamProjectCollectionControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/TeamProject/Member/MemberControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/TeamProject/Avatar/AvatarControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Team/TeamMember/TeamMemberControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Team/TeamControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Team/TeamAdmin/TeamAdminControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Team/Board/BoardControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Team/Backlog/BacklogControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Shell/ShellControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/ServiceHook/ServiceHookControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/RestApi/RestApiControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/ProcessTemplate/ProcessTemplateControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/ProcessTemplate/Field/FieldControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Pipeline/ReleaseManagement/ReleaseManagementControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Pipeline/PipelineControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Pipeline/Build/Folder/FolderControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Pipeline/Build/Definition/DefinitionControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Organization/OrganizationControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Identity/User/UserControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Identity/IdentityControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Identity/Group/GroupControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Git/Policy/PolicyControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Git/Item/ItemControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Git/GitControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Git/Commit/CommitControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Git/Branch/BranchControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/ExtensionManagement/ExtensionManagementControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Credential/CredentialControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Artifact/ArtifactControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Admin/Registry/RegistryControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Controllers/Admin/AdminControllerTests.cs Adds controller generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/WorkItem/WorkItemType/WorkItemTypeCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/WorkItem/Linking/WorkItemLinkingCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/WorkItem/History/WorkItemHistoryCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Wiki/WikiCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/TestManagement/TestManagementCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/TeamProjectCollection/TeamProjectCollectionCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/TeamProject/Member/TeamProjectMemberCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/TeamProject/Avatar/TeamProjectAvatarCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Team/TeamMember/TeamMemberCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Team/TeamAdmin/TeamAdminCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Team/Board/TeamBoardCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Team/Backlog/TeamBacklogCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Shell/ShellCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/ServiceHook/ServiceHookCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/RestApi/RestApiCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/ProcessTemplate/ProcessTemplateCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/ProcessTemplate/Field/ProcessFieldCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Pipeline/ReleaseManagement/ReleaseManagementCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Pipeline/Build/PipelineBuildCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Pipeline/Build/Folder/BuildFolderCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Pipeline/Build/Definition/BuildDefinitionCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Organization/OrganizationCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Identity/User/UserCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Identity/IdentityCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Identity/Group/GroupCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Git/Policy/GitPolicyCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Git/Item/GitItemCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Git/GitCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Git/Commit/GitCommitCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Git/Branch/GitBranchCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/ExtensionManagement/ExtensionManagementCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Credential/CredentialCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Artifact/ArtifactCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Admin/Registry/RegistryCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGenerators.UnitTests/Cmdlets/Admin/AdminCmdletTests.cs Adds cmdlet generator verification tests
CSharp/TfsCmdlets.SourceGeneratores.UnitTests/TfsCmdlets.SourceGenerators.UnitTests.csproj Removes legacy/misplaced unit test project file
CSharp/TfsCmdlets.SourceGeneratores.UnitTests/CSharpSourceGeneratorVerifier.cs Removes legacy generator test verifier helper
CSharp/TfsCmdlets.Shared/WorkItemFieldAttribute.cs Adds shared attribute for work item field metadata
CSharp/TfsCmdlets.Shared/TfsCmdlets.Shared.shproj Adds shared project metadata file
CSharp/TfsCmdlets.Shared/TfsCmdletAttribute.cs Moves attribute to root namespace
CSharp/TfsCmdlets.Shared/Models/Connection.cs Adjusts target-framework preprocessor logic and conversion operators
CSharp/TfsCmdlets.Shared/Models/ClassificationNode.cs Guards network calls in unit-test builds
CSharp/TfsCmdlets.Shared/ModelAttribute.cs Adds shared model metadata attribute
CSharp/TfsCmdlets.Shared/HttpClients/IWorkItemTrackingProcessHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IWorkItemTrackingHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IWorkHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IWikiHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/ITestPlanHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/ITeamHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/ITeamAdminHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/ITaggingHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IServiceHooksPublisherHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/ISearchHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IReleaseHttpClient2.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IReleaseHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IProjectHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IProcessHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IPolicyHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IOperationsHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IIdentityHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IGraphHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IGitHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IGitExtendedHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IGenericHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IFeedHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IExtensionManagementHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IBuildHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClients/IAccountLicensingHttpClient.cs Makes generated http client interface public
CSharp/TfsCmdlets.Shared/HttpClientAttribute.cs Moves and exposes shared HttpClientAttribute
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/Tagging/ToggleWorkItemTagController.cs Exposes controller and alters behavior under UNIT_TEST_PROJECT
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/AreasIterations/TestClassificationNodeController.cs Exposes controller base for generation/tests
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/AreasIterations/RemoveClassificationNodeController.cs Exposes controller base for generation/tests
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/AreasIterations/NewClassificationNodeController.cs Exposes controller base for generation/tests
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/AreasIterations/MoveClassificationNodeController.cs Exposes controller base for generation/tests
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/AreasIterations/GetClassificationNodeController.cs Exposes controller base and adjusts constructor signature
CSharp/TfsCmdlets.Shared/Cmdlets/WorkItem/AreasIterations/CopyClassificationNodeController.cs Exposes controller base for generation/tests
CSharp/TfsCmdlets.Shared/CmdletControllerAttribute.cs Adds MEF export attribute for cmdlet controllers
CSharp/TfsCmdlets.Legacy/TfsCmdlets.Legacy.csproj Changes PowerShellStandard.Library version constraint
.vscode/settings.json Sets default solution for .NET tooling
.gitattributes Adds explicit Verify snapshot file normalization rules
.editorconfig Adds Verify artifact formatting rules

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

using AdoConnection = Microsoft.VisualStudio.Services.WebApi.VssConnection;
using Microsoft.VisualStudio.Services.WebApi.Location;
#else
#elif NET471_OR_GREATER
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The implicit conversion operators changed behavior for nulls: converting a null Connection now throws (c.InnerObject), and converting a null AdoConnection will now construct new Connection(null) instead of returning null. This is a breaking change and is likely to surface as NullReferenceExceptions or invalid model instances when users do AdoConnection ac = nullConn; or Connection conn = (AdoConnection)null;. Restore the null-preserving conversions (or explicitly decide to disallow null and enforce it consistently). Also, replacing #else with #elif NET471_OR_GREATER can break compilation for any target that is neither NETCOREAPP3_1_OR_GREATER nor NET471_OR_GREATER; consider adding a fallback #else (or #error) to avoid silently missing the AdoConnection alias.

Copilot uses AI. Check for mistakes.
Comment on lines +17 to +20
public static implicit operator AdoConnection(Connection c) => c.InnerObject;

/// <summary>Converts AdoConnection to Connection</summary>
public static implicit operator Connection(AdoConnection c) => c == null? null: new Connection(c);
public static implicit operator Connection(AdoConnection c) => new Connection(c);
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The implicit conversion operators changed behavior for nulls: converting a null Connection now throws (c.InnerObject), and converting a null AdoConnection will now construct new Connection(null) instead of returning null. This is a breaking change and is likely to surface as NullReferenceExceptions or invalid model instances when users do AdoConnection ac = nullConn; or Connection conn = (AdoConnection)null;. Restore the null-preserving conversions (or explicitly decide to disallow null and enforce it consistently). Also, replacing #else with #elif NET471_OR_GREATER can break compilation for any target that is neither NETCOREAPP3_1_OR_GREATER nor NET471_OR_GREATER; consider adding a fallback #else (or #error) to avoid silently missing the AdoConnection alias.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +3
namespace TfsCmdlets
{
internal class HttpClientAttribute : Attribute
public sealed class HttpClientAttribute : Attribute
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

Moving HttpClientAttribute out of the TfsCmdlets.HttpClients namespace will break all [HttpClient(...)] usages inside namespace TfsCmdlets.HttpClients unless those files have using TfsCmdlets; (or fully qualify the attribute). Since these interface files typically have no using directives, this is very likely a compile break. Either keep the attribute in TfsCmdlets.HttpClients, or update the attribute usages (or add a global using) to reference TfsCmdlets.HttpClientAttribute.

Copilot uses AI. Check for mistakes.
@@ -1,7 +1,7 @@
namespace TfsCmdlets.HttpClients
{
[HttpClient(typeof(GenericHttpClient))]
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

As written, [HttpClient(...)] is no longer resolvable here after HttpClientAttribute was moved to namespace TfsCmdlets (parent namespaces aren’t automatically in scope). This will fail to compile unless a using TfsCmdlets; (or a global using) is present. Prefer fully qualifying the attribute or restoring the attribute’s original namespace to prevent widespread edits across interface files.

Suggested change
[HttpClient(typeof(GenericHttpClient))]
[TfsCmdlets.HttpClient(typeof(GenericHttpClient))]

Copilot uses AI. Check for mistakes.
Comment thread .gitattributes
Comment on lines +10 to +13
*.verified.txt text eol=lf working-tree-encoding=UTF-8
*.verified.xml text eol=lf working-tree-encoding=UTF-8
*.verified.json text eol=lf working-tree-encoding=UTF-8
*.verified.cs text eol=lf working-tree-encoding=UTF-8
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The Verify file normalization rules set working-tree-encoding=UTF-8, but .editorconfig sets Verify artifacts to charset = utf-8-bom. These conflict and can cause persistent churn (files rewritten with/without BOM depending on tooling). Align the encoding policy: either set .editorconfig to utf-8 (no BOM) or change .gitattributes to working-tree-encoding=UTF-8-BOM (and confirm your Git version supports it) so Verify snapshots have stable bytes.

Suggested change
*.verified.txt text eol=lf working-tree-encoding=UTF-8
*.verified.xml text eol=lf working-tree-encoding=UTF-8
*.verified.json text eol=lf working-tree-encoding=UTF-8
*.verified.cs text eol=lf working-tree-encoding=UTF-8
*.verified.txt text eol=lf working-tree-encoding=UTF-8-BOM
*.verified.xml text eol=lf working-tree-encoding=UTF-8-BOM
*.verified.json text eol=lf working-tree-encoding=UTF-8-BOM
*.verified.cs text eol=lf working-tree-encoding=UTF-8-BOM

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +24
#if UNIT_TEST_PROJECT
yield break;
#else
yield return Client.UpdateTagAsync(tp.Id, tag.Id, tag.Name, enabled)
.GetResult($"Error renaming work item tag '{tag.Name}'");
#endif
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

Under UNIT_TEST_PROJECT, yield break; exits the entire controller on the first eligible tag, which changes control-flow compared to production (it won’t iterate remaining tags). If the goal is to avoid hitting the HTTP client during tests while preserving iteration behavior, prefer continue; (skip the update but keep looping) or yield a deterministic placeholder result so multi-tag scenarios behave consistently.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +2
using System.Reflection;
using System.Runtime.Loader;
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

Two issues here: (1) System.Reflection and System.Runtime.Loader are unused and should be removed. (2) MetadataReference.CreateFromFile() can throw (e.g., BadImageFormatException, FileLoadException) if the output directory contains non-managed or incompatible DLLs; that will make tests flaky across environments. Consider filtering to managed assemblies (or catching and skipping failures) so reference discovery is robust.

Copilot uses AI. Check for mistakes.
{
public static class RoslynReferenceHelper
{
public static List<PortableExecutableReference> LoadReferences()
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

Two issues here: (1) System.Reflection and System.Runtime.Loader are unused and should be removed. (2) MetadataReference.CreateFromFile() can throw (e.g., BadImageFormatException, FileLoadException) if the output directory contains non-managed or incompatible DLLs; that will make tests flaky across environments. Consider filtering to managed assemblies (or catching and skipping failures) so reference discovery is robust.

Copilot uses AI. Check for mistakes.
Comment on lines +30 to +33
var references = set
.Where(File.Exists)
.Select(p => MetadataReference.CreateFromFile(p))
.ToList();
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

Two issues here: (1) System.Reflection and System.Runtime.Loader are unused and should be removed. (2) MetadataReference.CreateFromFile() can throw (e.g., BadImageFormatException, FileLoadException) if the output directory contains non-managed or incompatible DLLs; that will make tests flaky across environments. Consider filtering to managed assemblies (or catching and skipping failures) so reference discovery is robust.

Copilot uses AI. Check for mistakes.
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

2 participants