✨ 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
Fråga id 111154
Registrerad 24 juni 2026
Senast ändrad 25 juni 2026
Allvarlighetsgrad High
Område Sales
Status Reported
Målrelease
Typ Bug