Update Microsoft.ML.Tokenizers and drop VS2019 support#756
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR modernizes the Visual Studio extension and related projects by dropping VS2019/x86 support, consolidating the compatibility layer into a dedicated x64 project/namespace, and updating a broad set of NuGet dependencies (notably Microsoft.ML.Tokenizers and related data packages). It also updates documentation for Azure OpenAI configuration and makes small code modernizations in the core model layer.
Changes:
- Drop VS2019/x86 compatibility projects and move shared compatibility code into
ResXManager.VSIX.Compatibility.x64with updated namespaces. - Upgrade and centralize NuGet dependencies (Tokenizers 2.0.0 + data packages, VS SDK/BuildTools, OpenXml, System.Text.Json, TomsToolbox, etc.).
- Improve Azure OpenAI configuration documentation and modernize a few code patterns (e.g., C# 12 collection expressions).
Reviewed changes
Copilot reviewed 33 out of 33 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ResXResourceManager.sln | Updates solution metadata and removes x86/shared compatibility projects from the solution. |
| src/ResXManager.VSIX/VSPackage.cs | Removes embedded compatibility-layer loading and wires up tool window factory/title initialization for the x64-only model. |
| src/ResXManager.VSIX/source.extension.vsixmanifest | Drops VS2019/x86 installation target and adjusts prerequisites. |
| src/ResXManager.VSIX/ResXManager.VSIX.csproj | Updates build configuration and VSIX packaging references for x64 compatibility output. |
| src/ResXManager.VSIX/Properties/AssemblyInfo.cs | Updates VSIX ProvideCodeBase entries for new/updated dependency assemblies. |
| src/ResXManager.VSIX/MyToolWindow.cs | Adjusts diagnostic tracing of assembly location information. |
| src/ResXManager.VSIX.Compatibility.x86/ResXManager.VSIX.Compatibility.x86.csproj | Removes the x86 compatibility project. |
| src/ResXManager.VSIX.Compatibility.x86/FodyWeavers.xsd | Removes x86 project weaver schema. |
| src/ResXManager.VSIX.Compatibility.x86/FodyWeavers.xml | Removes x86 project weaver configuration. |
| src/ResXManager.VSIX.Compatibility.x64/VsixCompatibility.cs | Moves compatibility implementation into the x64 namespace and modernizes some expressions. |
| src/ResXManager.VSIX.Compatibility.x64/ResXManager.VSIX.Compatibility.x64.csproj | Removes shared-project import, updates package references, and adds Service metadata. |
| src/ResXManager.VSIX.Compatibility.x64/Refactorings.cs | Moves refactorings into the x64 compatibility namespace and cleans up usings. |
| src/ResXManager.VSIX.Compatibility.x64/Properties/AssemblyInfo.cs | Adds an AssemblyKey marker type used for composition/assembly discovery. |
| src/ResXManager.VSIX.Compatibility.x64/PreBuildService.cs | Moves pre-build integration into the x64 compatibility namespace. |
| src/ResXManager.VSIX.Compatibility.x64/ICustomToolRunner.cs | Moves interface into the x64 compatibility namespace. |
| src/ResXManager.VSIX.Compatibility.x64/ErrorListProviderService.cs | Moves error list provider service into the x64 compatibility namespace. |
| src/ResXManager.VSIX.Compatibility.x64/DteSourceFilesProvider.cs | Moves DTE source file provider into the x64 compatibility namespace. |
| src/ResXManager.VSIX.Compatibility.x64/DteSolution.cs | Moves DTE solution wrapper into the x64 compatibility namespace and tightens UI-thread access. |
| src/ResXManager.VSIX.Compatibility.x64/DteProjectFile.cs | Moves DTE project-file wrapper into the x64 compatibility namespace and strengthens enum handling. |
| src/ResXManager.VSIX.Compatibility.x64/DteExtensions.cs | Moves DTE extension methods into the x64 compatibility namespace. |
| src/ResXManager.VSIX.Compatibility.x64/DteConfiguration.cs | Moves configuration into the x64 compatibility namespace and adjusts type aliasing. |
| src/ResXManager.VSIX.Compatibility.x64/CustomToolRunner.cs | Moves custom tool runner into the x64 compatibility namespace. |
| src/ResXManager.VSIX.Compatibility.Shared/ResXManager.VSIX.Compatibility.Shared.shproj | Removes the shared project container. |
| src/ResXManager.VSIX.Compatibility.Shared/ResXManager.VSIX.Compatibility.Shared.projitems | Removes shared compilation item list. |
| src/ResXManager.Translators/ResXManager.Translators.csproj | Adds Tokenizers data packages and updates service model dependency set. |
| src/ResXManager.Tests/WebExporterOutput/src/resources.zh-Hans.json | Simplifies generated test output JSON by removing empty string entries. |
| src/ResXManager.Tests/WebExporterOutput/src/resources.it.json | Simplifies generated test output JSON by removing empty string entries. |
| src/ResXManager.Model/ResXManager.Model.csproj | Pins System.Composition.AttributedModel for compatibility reasons. |
| src/ResXManager.Model/ExcelExtensions.cs | Modernizes collection initializations and uses collection expressions for empty results. |
| src/ResXManager.Infrastructure/ResXManager.Infrastructure.csproj | Removes VS2019-driven Newtonsoft.Json version override. |
| src/Directory.Packages.props | Centralizes/upgrades dependency versions, enables transitive pinning, and adds mitigation for Microsoft.Bcl.Memory. |
| src/Directory.Build.props | Bumps product version and updates SourceLink package version. |
| Documentation/Topics/Automatic-Translations.md | Expands Azure OpenAI configuration guidance (model vs deployment name, supported models, example). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request includes a version update and a broad set of dependency upgrades, along with documentation improvements and some codebase refactoring. The most significant changes are the consolidation and modernization of package dependencies, improved configuration documentation for Azure OpenAI models, and the migration of compatibility code to a new namespace and project structure.
Dependency and Version Updates:
1.106.0.0inDirectory.Build.propsand upgraded several core package dependencies, includingMicrosoft.SourceLink.GitHub,DocumentFormat.OpenXml,Community.VisualStudio.Toolkit,Microsoft.ML.Tokenizers(and added tokenizer data packages),System.Text.Json, Visual Studio SDK packages, and allTomsToolboxlibraries. Also, enabled central package transitive pinning and added a mitigation forMicrosoft.Bcl.Memoryto ensure compatibility. [1] [2] [3]Documentation Improvements:
Automatic-Translations.md.Refactoring and Project Structure:
ResXManager.VSIX.Compatibility.SharedtoResXManager.VSIX.Compatibility.x64, updating namespaces accordingly, and removed the old shared project files (.shprojand.projitems). This improves maintainability and aligns with modern project conventions. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Code Modernization:
ExcelExtensions.csto use C# 9 target-typed new expressions and collection expressions for improved readability and performance. [1] [2] [3]Test Data Adjustments: