✨ Community just got smarter! Our all-new AI search is live! ask anything in the search bar, get instant answers.

SuperOffice.NetServer.Core NuGet package is missing the SuperOffice.ServiceCopilot.Client dependency (FileNotFoundException for NuGet-based consumers)

Status: Reported

Steps to Reproduce

SoDataBase.BusinessLogic.dll — which is shipped inside the SuperOffice.NetServer.Core NuGet package — hard-references SuperOffice.ServiceCopilot.Client, Version=1.4.0.0 (package version 1.4.163, pinned in Directory.Packages.props, referenced from Server/Source/SoDataBase.BusinessLogic/SoDataBase.BusinessLogic.csproj).

However, SuperOffice.ServiceCopilot.Client is:

  • not declared as a dependency of the SuperOffice.NetServer.Core package,
  • not bundled as a DLL inside the package's lib/netstandard2.0/ folder, and
  • not available on any public NuGet feed.

As a result, any consumer that builds a local/console NetServer app from the NuGet packages (rather than copying a full onsite/config installation) gets a FileNotFoundException the moment NetServer scans SoDataBase.BusinessLogic during authentication. Because the assembly scan aborts, the actual failure is masked behind a generic SoSessionException: "Authentication failed!" (and can also surface as the misleading "Missing dialect for database Major: 'MSSQL', Minor: '15'", since the dialect/plugin factories that live in SoDataBase.BusinessLogic never get registered).

The same gap applies transitively: Microsoft.Kiota.Abstractions (a dependency of ServiceCopilot.Client) is also not pulled in, so consumers have to discover and add it manually too.

Repro steps

  1. Create a new .NET Framework 4.8 console app.
  2. Add the SuperOffice.NetServer.Core (11.13.1541) and SuperOffice.ContinuousDatabase (11.13.1541) NuGet packages.
  3. Wire up a minimal local host:
    csharp
    services.AddNetServerCoreForAsyncLocalProcess(config);
    services.AddSoDatabase(config);
    var provider = services.BuildServiceProvider();
    provider.RegisterWithNetServer();
    SoSession.Authenticate("**", "****");
    
  4. Run.

Expected result

The NuGet package set contains (or declares as dependencies) everything SoDataBase.BusinessLogic needs at runtime, so a local NetServer host authenticates without manually hunting for DLLs.

Actual result

SoSession.Authenticate throws SoSessionException: "Authentication failed!". The underlying cause (visible by calling Assembly.Load("SoDataBase.BusinessLogic").GetTypes() and inspecting ReflectionTypeLoadException.LoaderExceptions) is:

vbnet
System.IO.FileNotFoundException: Could not load file or assembly
'SuperOffice.ServiceCopilot.Client, Version=1.4.0.0, Culture=neutral,
PublicKeyToken=bdda2d694ae22a86' or one of its dependencies.
Calling assembly: SoDataBase.BusinessLogic, Version=11.13.0.0, ...

There is no NuGet feed from which the consumer can obtain SuperOffice.ServiceCopilot.Client.

System info

  • Package: SuperOffice.NetServer.Core 11.13.1541 (+ SuperOffice.ContinuousDatabase 11.13.1541)
  • Bundled assembly: SoDataBase.BusinessLogic.dll 11.13.0.0
  • Missing assembly: SuperOffice.ServiceCopilot.Client 1.4.0.0 (pkg 1.4.163), PublicKeyToken bdda2d694ae22a86
  • Also missing transitively: Microsoft.Kiota.Abstractions
  • Target framework: net48 (also affects any non-web NuGet-based host)

Impact

Blocks all partners/customers building local/console NetServer integrations from the published NuGet packages (a documented, supported scenario). Current workaround is fragile: copy SuperOffice.ServiceCopilot.Client.dll (and any further missing first-party DLLs) from an existing config/onsite installation — not from the web bin folder, which drags in web-only plugins (e.g. RequestIdentitySupplier) and produces a different "Unable to resolve service for type 'SuperOffice.Web.ISoHttpContextAccessor'" failure.

Proposed fix (one of)

  1. Bundle SuperOffice.ServiceCopilot.Client.dll (and its own dependencies, incl. Microsoft.Kiota.Abstractions) inside the SuperOffice.NetServer.Core package lib/netstandard2.0/, or
  2. Publish SuperOffice.ServiceCopilot.Client as a NuGet package and declare it (with its transitive dependencies) as a dependency of SuperOffice.NetServer.Core.

Either way, ensure the dependencies of bundled first-party assemblies are expressed so that a clean PackageReference restore produces a runnable local host without manual DLL hunting.

Workaround (for affected consumers, until fixed)

Copy the missing first-party DLL(s) from a config installation of the same build, and resolve any remaining gaps by iterating on:

csharp
foreach (var le in
    ((ReflectionTypeLoadException)ex).LoaderExceptions)
    Console.WriteLine(le);

until the scan reports no missing assemblies.



Kommentarer
Detaljer
Problem id 111154
Registreret 24 jun. 2026
Sidst ændret 24 jun. 2026
Alvorsgrad High
Område Sales
Status Reported
Mål for frigivelse
Type Bug