-
Notifications
You must be signed in to change notification settings - Fork 318
Refactor Add-Debug-Profile to use local emitter builds instead of tsp-client #8968
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: JoshLove-msft <[email protected]>
Co-authored-by: JoshLove-msft <[email protected]>
| Write-Host "Local package version: $localVersion" -ForegroundColor Yellow | ||
| Write-Host "" | ||
|
|
||
| # Step 1: Build local unbranded emitter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot lets attempt to parse the tsp-location.yaml first for Azure libraries before building the local emitter so that we can fail fast if unable to parse.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ckages\http-client-csharp\generator\artifacts\bin\Parameters.Path\Debug\net8.0\Parameters.Path.dll Copying output to dist path Authentication.Http.Custom -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Authentication.Http.Custom\Debug\net8.0\Authentication.Http.Custom.dll Payload.ContentNegotiation -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Payload.ContentNegotiation\Debug\net8.0\Payload.ContentNegotiation.dll Encode.Bytes -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Encode.Bytes\Debug\net8.0\Encode.Bytes.dll Encode.Datetime -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Encode.Datetime\Debug\net8.0\Encode.Datetime.dll Client.Structure.Service.TwoOperationGroup -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Client.Structure.Service.TwoOperationGroup\Debug\net8.0\Client.Structure.Service.TwoOperationGroup.dll Parameters.Spread -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Parameters.Spread\Debug\net8.0\Parameters.Spread.dll Type.Enum.Fixed -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Enum.Fixed\Debug\net8.0\Type.Enum.Fixed.dll Client.Structure.Service -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Client.Structure.Service\Debug\net8.0\Client.Structure.Service.dll Type.Enum.Extensible -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Enum.Extensible\Debug\net8.0\Type.Enum.Extensible.dll Parameters.BodyOptionality -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Parameters.BodyOptionality\Debug\net8.0\Parameters.BodyOptionality.dll Encode.Numeric -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Encode.Numeric\Debug\net8.0\Encode.Numeric.dll Authentication.OAuth2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Authentication.OAuth2\Debug\net8.0\Authentication.OAuth2.dll Encode.Duration -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Encode.Duration\Debug\net8.0\Encode.Duration.dll
Client.Structure.Service.Multi.Client -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Client.Structure.Service.Multi.Client\Debug\net8.0\Client.Structure.Service.Multi.Client.dll Server.Versions.NotVersioned -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Server.Versions.NotVersioned\Debug\net8.0\Server.Versions.NotVersioned.dll Client.Structure.Service.Default -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Client.Structure.Service.Default\Debug\net8.0\Client.Structure.Service.Default.dll Server.Path.Multiple -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Server.Path.Multiple\Debug\net8.0\Server.Path.Multiple.dll Type.Dictionary -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Dictionary\Debug\net8.0\Type.Dictionary.dll SpecialHeaders.Repeatability -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\SpecialHeaders.Repeatability\Debug\net8.0\SpecialHeaders.Repeatability.dll Server.Versions.Versioned -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Server.Versions.Versioned\Debug\net8.0\Server.Versions.Versioned.dll Response.StatusCodeRange -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Response.StatusCodeRange\Debug\net8.0\Response.StatusCodeRange.dll Parameters.Basic -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Parameters.Basic\Debug\net8.0\Parameters.Basic.dll Payload.JsonMergePatch -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Payload.JsonMergePatch\Debug\net8.0\Payload.JsonMergePatch.dll Authentication.Union -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Authentication.Union\Debug\net8.0\Authentication.Union.dll
Server.Path.Single -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Server.Path.Single\Debug\net8.0\Server.Path.Single.dll Type.Model.Inheritance.EnumDiscriminator -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Inheritance.EnumDiscriminator\Debug\net8.0\Type.Model.Inheritance.EnumDiscriminator.dll Server.Endpoint.NotDefined -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Server.Endpoint.NotDefined\Debug\net8.0\Server.Endpoint.NotDefined.dll Type.Array -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Array\Debug\net8.0\Type.Array.dll Payload.Pageable -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Payload.Pageable\Debug\net8.0\Payload.Pageable.dll Versioning.Added.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.Added.V1\Debug\net8.0\Versioning.Added.V1.dll Resiliency.SrvDriven.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Resiliency.SrvDriven.V1\Debug\net8.0\Resiliency.SrvDriven.V1.dll Type.Model.Inheritance.SingleDiscriminator -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Inheritance.SingleDiscriminator\Debug\net8.0\Type.Model.Inheritance.SingleDiscriminator.dll Payload.MediaType -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Payload.MediaType\Debug\net8.0\Payload.MediaType.dll SpecialHeaders.ConditionalRequest -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\SpecialHeaders.ConditionalRequest\Debug\net8.0\SpecialHeaders.ConditionalRequest.dll
Client.Structure.Service.Renamed.Operation -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Client.Structure.Service.Renamed.Operation\Debug\net8.0\Client.Structure.Service.Renamed.Operation.dll Routes -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Routes\Debug\net8.0\Routes.dll
Versioning.Added.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.Added.V2\Debug\net8.0\Versioning.Added.V2.dll Versioning.ReturnTypeChangedFrom.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.ReturnTypeChangedFrom.V2\Debug\net8.0\Versioning.ReturnTypeChangedFrom.V2.dll Serialization.EncodedName.Json -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Serialization.EncodedName.Json\Debug\net8.0\Serialization.EncodedName.Json.dll Versioning.MadeOptional.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.MadeOptional.V1\Debug\net8.0\Versioning.MadeOptional.V1.dll SpecialWords -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\SpecialWords\Debug\net8.0\SpecialWords.dll
Type.Model.Usage -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Usage\Debug\net8.0\Type.Model.Usage.dll Microsoft.TypeSpec.Generator.Input.Tests -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Microsoft.TypeSpec.Generator.Input.Tests\Debug\net9.0\Microsoft.TypeSpec.Generator.Input.Tests.dll Type.Property.Nullable -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Property.Nullable\Debug\net8.0\Type.Property.Nullable.dll Type.Model.Inheritance.Recursive -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Inheritance.Recursive\Debug\net8.0\Type.Model.Inheritance.Recursive.dll Resiliency.SrvDriven.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Resiliency.SrvDriven.V2\Debug\net8.0\Resiliency.SrvDriven.V2.dll Type.Property.ValueTypes -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Property.ValueTypes\Debug\net8.0\Type.Property.ValueTypes.dll Versioning.Removed.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.Removed.V1\Debug\net8.0\Versioning.Removed.V1.dll Versioning.Removed.V2Preview -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.Removed.V2Preview\Debug\net8.0\Versioning.Removed.V2Preview.dll Versioning.MadeOptional.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.MadeOptional.V2\Debug\net8.0\Versioning.MadeOptional.V2.dll Type.Model.Empty -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Empty\Debug\net8.0\Type.Model.Empty.dll Versioning.ReturnTypeChangedFrom.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.ReturnTypeChangedFrom.V1\Debug\net8.0\Versioning.ReturnTypeChangedFrom.V1.dll Versioning.Removed.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.Removed.V2\Debug\net8.0\Versioning.Removed.V2.dll Microsoft.TypeSpec.Generator.Tests -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Microsoft.TypeSpec.Generator.Tests\Debug\net9.0\Microsoft.TypeSpec.Generator.Tests.dll Payload.MultiPart -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Payload.MultiPart\Debug\net8.0\Payload.MultiPart.dll Type.Property.Optional -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Property.Optional\Debug\net8.0\Type.Property.Optional.dll Versioning.RenamedFrom.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.RenamedFrom.V1\Debug\net8.0\Versioning.RenamedFrom.V1.dll Microsoft.TypeSpec.Generator.ClientModel.StubLibrary -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Microsoft.TypeSpec.Generator.ClientModel.StubLibrary\Debug\net9.0\Microsoft.TypeSpec.Generator.ClientModel.StubLibrary.dll Copying output to dist path Type.Scalar -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Scalar\Debug\net8.0\Type.Scalar.dll Type.Model.Visibility -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Visibility\Debug\net8.0\Type.Model.Visibility.dll Type.Model.Inheritance.NestedDiscriminator -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Inheritance.NestedDiscriminator\Debug\net8.0\Type.Model.Inheritance.NestedDiscriminator.dll Versioning.RenamedFrom.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.RenamedFrom.V2\Debug\net8.0\Versioning.RenamedFrom.V2.dll Type.Union -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Union\Debug\net8.0\Type.Union.dll Versioning.TypeChangedFrom.V2 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.TypeChangedFrom.V2\Debug\net8.0\Versioning.TypeChangedFrom.V2.dll Authentication.ApiKey -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Authentication.ApiKey\Debug\net8.0\Authentication.ApiKey.dll Type.Property.AdditionalProperties -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Property.AdditionalProperties\Debug\net8.0\Type.Property.AdditionalProperties.dll Type.Model.Inheritance.NotDiscriminated -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Type.Model.Inheritance.NotDiscriminated\Debug\net8.0\Type.Model.Inheritance.NotDiscriminated.dll Versioning.TypeChangedFrom.V1 -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Versioning.TypeChangedFrom.V1\Debug\net8.0\Versioning.TypeChangedFrom.V1.dll Microsoft.TypeSpec.Generator.ClientModel.Tests -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Microsoft.TypeSpec.Generator.ClientModel.Tests\Debug\net9.0\Microsoft.TypeSpec.Generator.ClientModel.Tests.dll Microsoft.TypeSpec.Generator.Tests.Perf -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\Microsoft.TypeSpec.Generator.Tests.Perf\Debug\net9.0\Microsoft.TypeSpec.Generator.Tests.Perf.dll TestProjects.Spector.Tests -> C:\Users\jolov\repos\typespec\packages\http-client-csharp\generator\artifacts\bin\TestProjects.Spector.Tests\Debug\net9.0\TestProjects.Spector.Tests.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:11.38 > @typespec/[email protected] extract-api > npx api-extractor run --local --verbose api-extractor 7.52.9 - https://api-extractor.com/
Using configuration from ./api-extractor.json Analysis will use the bundled TypeScript version 5.8.2 Writing: C:\Users\jolov\repos\typespec\packages\http-client-csharp\emitter\temp\typespec-http-client-csharp.api.json Generating complete API report: C:\Users\jolov\repos\typespec\packages\http-client-csharp\emitter\temp\typespec-http-client-csharp.api.md The API report is up to date: temp/typespec-http-client-csharp.api.md Writing package typings: C:\Users\jolov\repos\typespec\packages\http-client-csharp\dist\typespec-http-client-csharp.d.ts API Extractor completed successfully C:\Users\jolov\repos\typespec\packages\http-client-csharp\debug\20251110\typespec-http-client-csharp-1.0.0-alpha.20251110.c354f7f74.tgz"" --package-lock-only
Write-Error: Error: Program 'cmd.exe' failed to run: An error occurred trying to start process 'C:\WINDOWS\system32\cmd.exe' with working directory 'C:\Users\jolov\repos\azure-sdk-for-net\eng\temp-package-update'. The filename or extension is too long.At C:\Users\jolov\repos\typespec\packages\http-client-csharp\eng\scripts\Generation.psm1:14 char:13
-
cmd /c "$command 2>&1"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in d173472. The script now parses and validates tsp-location.yaml immediately after detecting Azure SDK mode (before building any emitters), ensuring we fail fast if the configuration cannot be parsed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 025ee39. The script now copies .tgz files to the temp directory and uses relative paths in npm install commands to avoid Windows path length limits. Also updated the Invoke function to preserve line breaks in output for better readability.
Co-authored-by: JoshLove-msft <[email protected]>
- Copy .tgz files to temp directory and use relative paths to avoid Windows path length limits - Update Invoke function to capture and write output line-by-line to preserve formatting Co-authored-by: JoshLove-msft <[email protected]>
|
@copilot Build completed
|
|
@copilot Write-Error: Error: You cannot call a method on a null-valued expression. |
- Replace ForEach-Object with foreach loop to avoid null reference errors - Add null check for individual lines before writing output - Check both for null and empty array to handle all edge cases Co-authored-by: JoshLove-msft <[email protected]>
|
@copilot Same error: azure-typespec-http-client-csharp-1.0.0-alpha.20251110.fd4d75b38.tgz |
…array - Use @() to wrap output and ensure it's always treated as an array - Use .Length instead of .Count for array length checking - This fixes the error when command output is a single string instead of an array Co-authored-by: JoshLove-msft <[email protected]>
Fixed in a6a1cb2. The issue was that |
- The error was in RegenPreview.psm1, not Generation.psm1 - When Where-Object returns no matches, calling .ToString() on null causes the error - Added null check before calling .ToString() and .Trim() - Fallback to constructing filename from package.json if parsing fails Co-authored-by: JoshLove-msft <[email protected]>
The null reference error was actually in RegenPreview.psm1, not Generation.psm1. Reverting Generation.psm1 to its original state before the output formatting changes. Co-authored-by: JoshLove-msft <[email protected]>
Fixed in 674e4cd. The actual error was in RegenPreview.psm1 line 145 where npm pack output parsing calls |
|
@copilot [3/5] Updating artifacts and building generators... |
- Added checks for null/empty NuGetConfigPath and SourcePath parameters - Added validation that SourcePath directory exists before processing - Added final validation before calling Save() to provide clearer error messages - This should help diagnose the "empty string" parameter binding error Co-authored-by: JoshLove-msft <[email protected]>
Fixed in 1dc9fbe. Added validation for null/empty parameters in Add-LocalNuGetSource to diagnose the empty string error. The function now checks that NuGetConfigPath and SourcePath are not null/empty, validates the source directory exists, and performs final validation before saving. This should provide clearer error messages to identify the root cause. |
|
@copilot [3/5] Updating artifacts and building generators... |
- Same issue as in RegenPreview.psm1: calling .ToString() on null Where-Object result - Added null check before calling .ToString() and .Trim() - Added fallback to construct filename from package.json if parsing fails - Added validation after Build-LocalUnbrandedEmitter to ensure valid package path returned - Added check that package file exists before continuing - This fixes the "Cannot bind argument to parameter 'Path' because it is an empty string" error on Split-Path Co-authored-by: JoshLove-msft <[email protected]>
Fixed in 826c0ac. The same npm pack parsing issue existed in Add-Debug-Profile.ps1's Build-LocalUnbrandedEmitter function. When |
| } | ||
| ``` | ||
|
|
||
| ## Comparison with Previous Version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot we should remove this section as it is not relevant for long term use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in 49fa853. Removed the "Comparison with Previous Version" section from the documentation.
The "Comparison with Previous Version" section is not relevant for long-term use and has been removed from the documentation. Co-authored-by: JoshLove-msft <[email protected]>
|
@copilot I debugged the issue and the problem is that the $unbrandedPackagePath variable is not what we expect. Package path: added 578 packages, and audited 579 packages in 35s 132 packages are looking for funding run |
…alNuGetPackages - Added | Out-Host to Invoke calls to prevent command output from being captured as function return value - PowerShell captures all pipeline output from functions, not just explicit return statements - Without Out-Host, the $unbrandedPackagePath variable was getting all npm/dotnet output instead of just the package path - This caused the "Package path:" output to show all build output instead of just the file path Co-authored-by: JoshLove-msft <[email protected]>
Fixed in 138799d. The issue was that PowerShell captures all pipeline output from functions, not just explicit |
|
@copilot Updated dependencies to local packages
|
- Added cleanup of old Microsoft.TypeSpec.Generator*.nupkg files from debug folder before packing new ones - Added verification step to ensure all expected NuGet packages were created - Added dotnet nuget locals http-cache --clear to force fresh package discovery - This fixes the NU1102 error where NuGet couldn't find the newly built packages Co-authored-by: JoshLove-msft <[email protected]>
Fixed in 9e6d274. The issue was that old NuGet packages were present in the debug folder (from previous runs), and NuGet was finding those instead of the newly built ones. Added cleanup of old packages before packing, package verification after packing, and |
- Added pre-restore step with --force --no-cache flags before building Azure and Mgmt generators - This ensures NuGet packages are properly discovered before the build attempts to restore them - Uses explicit --configfile parameter to ensure the local NuGet source is used - Fixes NU1102 error where generator builds couldn't find the newly built NuGet packages Co-authored-by: JoshLove-msft <[email protected]>
Plan: Refactor Add-Debug-Profile to use local emitter builds ✅
Overview
The Add-Debug-Profile script has been successfully refactored to use the RegenPreview workflow for building local emitters, ensuring that local changes are reflected in the debug profile.
Changes Completed ✅
Recent Updates
Explicit NuGet Restore Fix
dotnet restorestep before building Azure and Mgmt generators--force --no-cacheflags to ensure fresh package discovery--configfileparameter to ensure local NuGet source is useddotnet builddoes implicit restore, but it wasn't finding the packages even though they were in the local sourcePrevious Fixes
Summary of Changes
1. Removed tsp-client Dependencies
2. Added RegenPreview Integration
3. New Workflow Implementation
4. Documentation
Key Improvements
Files Modified
packages/http-client-csharp/eng/scripts/Add-Debug-Profile.ps1- Complete refactorpackages/http-client-csharp/eng/scripts/RegenPreview.psm1- Bug fixesFiles Added
packages/http-client-csharp/eng/scripts/docs/Add-Debug-Profile.md- DocumentationOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.