Skip to content

Upgrade HighriseApi to .NET Standard 2.0 - #1

Merged
pascalknecht merged 3 commits into
masterfrom
cursor/netstandard-2-0-upgrade-0be8
Jul 15, 2026
Merged

Upgrade HighriseApi to .NET Standard 2.0#1
pascalknecht merged 3 commits into
masterfrom
cursor/netstandard-2-0-upgrade-0be8

Conversation

@pascalknecht

@pascalknecht pascalknecht commented Jul 15, 2026

Copy link
Copy Markdown

Summary

Upgrades the HighriseApi library from .NET Framework 4.7.2 to .NET Standard 2.0 so it can be consumed from .NET Framework, .NET Core, and modern .NET applications.

Changes

  • Converted HighriseApi.csproj to SDK-style format targeting netstandard2.0
  • Replaced packages.config with PackageReference entries for RestSharp dependencies
  • Removed app.config binding redirects (no longer needed with SDK-style projects)
  • Replaced System.Web.HttpUtility.UrlEncode with System.Net.WebUtility.UrlEncode in DictionaryExtensions to remove the System.Web dependency
  • Removed unused System.Text.Json package reference
  • Removed AssemblyInfo.cs in favor of SDK-generated assembly metadata
  • Added GitHub Actions workflow to build the library on push
  • Removed legacy example/, lib/, and src/.vs/ folders from the repository
  • Added .vs/ to .gitignore

Verification

  • dotnet build -c Release succeeds with 0 warnings and 0 errors
Open in Web Open in Cursor 

Summary by CodeRabbit

  • New Features

    • Added automated build validation for every code push.
    • Modernized the library for broader .NET Standard 2.0 compatibility.
  • Bug Fixes

    • Improved URL encoding for search query values, supporting special characters more reliably.
  • Chores

    • Removed the legacy sample console application and configuration files.
    • Simplified project and dependency configuration.
    • Added Visual Studio temporary files to the ignored files list.

Convert the project from .NET Framework 4.7.2 to .NET Standard 2.0 using
the SDK-style project format with PackageReference dependencies.

Replace System.Web.HttpUtility with System.Net.WebUtility for URL encoding
to remove the System.Web dependency, which is not available on .NET Standard.

Remove legacy packages.config, app.config, and AssemblyInfo.cs in favor of
SDK-style project metadata and NuGet package management.

Co-authored-by: Pascal Knecht <pascalknecht@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ff2add8d-779b-4b8a-bcad-579461f5b3ed

📥 Commits

Reviewing files that changed from the base of the PR and between 7c7762e and 187b43f.

⛔ Files ignored due to path filters (3)
  • lib/RestSharp.dll is excluded by !**/*.dll
  • src/.vs/HighriseApi/FileContentIndex/read.lock is excluded by !**/*.lock
  • src/.vs/HighriseApi/v16/Server/sqlite3/db.lock is excluded by !**/*.lock
📒 Files selected for processing (15)
  • .github/workflows/build.yml
  • .gitignore
  • example/App.config
  • example/HighriseApiConsole.csproj
  • example/HighriseApiConsole.sln
  • example/Program.cs
  • example/Properties/AssemblyInfo.cs
  • src/.vs/HighriseApi/FileContentIndex/4f7c0766-9b22-44b5-9796-22199e9966e3.vsidx
  • src/.vs/HighriseApi/FileContentIndex/f8ba78bc-1faa-4b35-b542-7c69d659c114.vsidx
  • src/.vs/HighriseApi/v16/Server/sqlite3/storage.ide
  • src/HighriseApi/ExtensionMethods/DictionaryExtensions.cs
  • src/HighriseApi/HighriseApi.csproj
  • src/HighriseApi/Properties/AssemblyInfo.cs
  • src/HighriseApi/app.config
  • src/HighriseApi/packages.config

📝 Walkthrough

Walkthrough

The library is migrated from a legacy .NET Framework project to SDK-style netstandard2.0, dependencies are declared with package references, URL encoding switches to WebUtility, legacy example/configuration files are removed, and a .NET 8 GitHub Actions build workflow is added.

Changes

.NET modernization

Layer / File(s) Summary
Modernize library project and URL encoding
src/HighriseApi/HighriseApi.csproj, src/HighriseApi/ExtensionMethods/DictionaryExtensions.cs
The library targets netstandard2.0 using SDK-style project metadata and RestSharp package references, while search query values use System.Net.WebUtility.UrlEncode.
Add automated build validation
.github/workflows/build.yml, .gitignore
Pushes trigger a .NET 8 Release restore/build workflow, and the Visual Studio .vs/ directory is ignored.
Remove legacy application and configuration artifacts
example/*, src/HighriseApi/Properties/AssemblyInfo.cs, src/HighriseApi/app.config, src/HighriseApi/packages.config
The example console project, solution, source files, assembly metadata, binding configuration, and legacy package manifest are removed.

Estimated code review effort: 3 (Moderate) | ~20 minutes

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/netstandard-2-0-upgrade-0be8

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

cursoragent and others added 2 commits July 15, 2026 13:04
Run dotnet restore and build for the netstandard2.0 library on every push
using Ubuntu and .NET 8.

Co-authored-by: Pascal Knecht <pascalknecht@users.noreply.github.com>
Delete the legacy example console app, checked-in RestSharp.dll, and
Visual Studio cache files. Add .vs/ to .gitignore to prevent re-commit.

Co-authored-by: Pascal Knecht <pascalknecht@users.noreply.github.com>
@pascalknecht
pascalknecht marked this pull request as ready for review July 15, 2026 13:08
@pascalknecht
pascalknecht merged commit acf4f7f into master Jul 15, 2026
2 checks passed
@pascalknecht
pascalknecht deleted the cursor/netstandard-2-0-upgrade-0be8 branch July 15, 2026 13:08
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