Skip to content

After updating from version 111.2 to 111.3, a C++/CLI project that uses libraries that use Restsharp reports a C2870 #2233

Description

@xenexelen

We use a C++/CLI project as a bridge between a native C++ application (Embacadero C++ Builder) and a .Net 8 project (the C++/CLI library provides a C interface for the C++ application, which in turn is used to call partial functionality of project parts that have already been migrated to .Net).

This worked as long as our .Net libraries used at most version 111.2.0 of Restsharp. With the update to 111.3.0, the C++/CLI project throws several C2870 errors:

"C2870 'RestSharp': a namespace definition must appear either at file scope or immediately within another namespace definition <...>.nuget\packages\restsharp\111.3.0\lib\net8.0\RestSharp.dll"

Current workaround: RestSharp downgrade to 111.2

To Reproduce

  1. Create a new solution with a "C# Class Library" (I use .net 8), add Restsharp 111.3.0 per nuget as Dependency
  2. Add a new "CLR Class Library (.NET)"-Project, add the C#-Assembly as Dependency
  3. Build => C2870
  4. Downgrade the Restsharper-nuget to 111.2.0
  5. Build => Success

Expected behavior
The upgrade from 111.2.0 to 111.3.0 should not cause an error

Desktop (please complete the following information):

  • OS: Microsoft Windows 11 Pro (Build 10.0.22631)
  • .NET 8
  • RestSharp Version 111.2.0 and 111.3.0

Activity

  1. xenexelen commented on Jul 12, 2024

    @xenexelen
    Author

    Error also in 111.4.0

  2. adv12 commented on Oct 21, 2024

    @adv12

    Seeing this as well. Same setup: .NET 8, C++/CLI application.

  3. KrissyN commented on Mar 10, 2025

    @KrissyN

    Is this related to: #2223

    This is a significant problem for us, we are having to downgrade the version of RestSharp because of it.

  4. iamxonfug commented on Mar 26, 2025

    @iamxonfug

    I getting this with RestSharp 112 and its becoming a blocker.

  5. xenexelen commented on Mar 30, 2025

    @xenexelen
    Author

    At our company, we have therefore been forced to remove RestSharp from our project. Unfortunately, it cannot be used in combination with C++CLI.

  6. KrissyN commented on Mar 31, 2025

    @KrissyN

    At our company, we have therefore been forced to remove RestSharp from our project.
    We are also planning to do the same, especially given the security vulnerabilities in the older versions.

  7. FlorianHielscher commented on Nov 20, 2025

    @FlorianHielscher

    Our company is blocked switching to 112.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions