Knowledge Base Article

DLL FAQs

Why are we writing an FAQ for DLL file management with Platform v8+?
In alignment with the goal of 100% customer satisfaction, the OneStream platform is evolving so that Cloud Operations can deliver superior performance, functionality, and customer self-service.  This effort requires OneStream to transition existing paradigms and policies to modern cloud native approaches that embrace enhanced capabilities.

With Platform v8+, OneStream is facing this challenge by requiring adoption of modern technologies, and creating cloud native procedures that exhibit higher levels of security and automation.  With that theme in mind, we are strongly recommending changes to DLL file management to ensure a robust, yet secure cloud operations paradigm.

What is changing in Platform v8+ with regards to DLL file management?

With the transition from VPN to Smart Integration Connector (SIC) in Platform v8+, any custom DLL used within your application for data source connectivity will be transitioned from its pre-v8 source location in the cloud to the Local Gateway Server Referenced Assemblies folder, which exists within the customer’s network.  Typically these DLLs are used to establish connectivity or encrypt data from a local data source.  Locally installed DLLs can be leveraged by SIC in a number of ways, including through SIC remote business rules.

What are the standard DLLs included with the OneStream Platform and how are they invoked by Business Rules?

With v8, the following DLL files are installed with the OneStream Platform:

  1. DocumentFormat.OpenXml.dll
  2. HtmlTextWriter.dll
  3. IronCompress.dll
  4. Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll
  5. Microsoft.Bcl.AsyncInterfaces.dll
  6. Microsoft.CodeAnalysis.CSharp.dll
  7. Microsoft.CodeAnalysis.dll
  8. Microsoft.CodeAnalysis.VisualBasic.dll
  9. Microsoft.Data.Analysis.dll
  10. Microsoft.Data.Edm.dll
  11. Microsoft.Data.OData.dll
  12. Microsoft.Data.Services.Client.dll
  13. Microsoft.Data.SqlClient.dll
  14. Microsoft.Extensions.Configuration.Json.dll
  15. Microsoft.Identity.Client.dll
  16. Microsoft.Identity.Client.Extensions.Msal.dll
  17. Microsoft.IdentityModel.Abstractions.dll
  18. Microsoft.IdentityModel.Clients.ActiveDirectory.dll
  19. Microsoft.IdentityModel.JsonWebTokens.dll
  20. Microsoft.IdentityModel.Protocols.dll
  21. Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
  22. Microsoft.IdentityModel.Protocols.WsFederation.dll
  23. Microsoft.IdentityModel.Tokens.dll
  24. Microsoft.IdentityModel.Tokens.Saml.dll
  25. Microsoft.IdentityModel.Xml.dll
  26. Microsoft.OData.Client.dll
  27. Microsoft.OData.Core.dll
  28. Microsoft.OData.Edm.dll
  29. Microsoft.Rest.ClientRuntime.dll
  30. Microsoft.SqlServer.Server.dll
  31. Newtonsoft.Json.Bson.dll
  32. Newtonsoft.Json.dll
  33. Parquet.dll
  34. Polly.dll
  35. Rsk.Saml.dll
  36. SkiaSharp.dll
  37. Snappier.dll
  38. System.CodeDom.dll
  39. System.Collections.Immutable.dll
  40. System.Configuration.ConfigurationManager.dll
  41. System.Data.Odbc.dll
  42. System.Data.OleDb.dll
  43. System.Data.SqlClient.dll
  44. System.Net.WebSockets.WebSocketProtocol.dll
  45. System.Spatial.dll
  46. System.Text.Encoding.CodePages.dll
  47. System.Text.Encodings.Web.dll
  48. System.Text.Json.dll
  49. System.Web.Services.Description.dll
  50. WinSCPnet.dll
  51. ZstdSharp.dl

To utilize a DLL file from this list in a Business Rule, list the name of the DLL in the Referenced Assemblies setting.  You can reference multiple assemblies by separating the names with a semicolon:

How do I reference a Microsoft DLL packaged with .NET6 in my OneStream Business Rule?

Reference a Microsoft DLL in the same way as you would DLLs packaged with the OneStream Platform, as outlined in the previous FAQ.  From the Properties tab of the Business Rule, simply refer to the DLL file name (such as “System.IO.Compression.DLL”) in the Referenced Assemblies setting.

I’m a new cloud customer, provided OneStream Platform 8.0 (or higher) – can I ask OneStream to place DLL files in the cloud Reference Assembly Folder?

Our guidance to new customers adopting Platform 8.0 or higher is to not have DLL files in the Storage Account ‘Integrations’ folder . This practice has been discontinued in alignment with our new Cloud Operation practices.

I’m an existing cloud customer, with existing Business Rules that reference DLL files in the cloud Reference Assembly Folder. Can I continue having these DLL file references ?

All custom DLL files necessary for local data source integration will need to be transitioned from the OneStream Reference Assembly (“Integrations”) Folder to the Local Gateway Server.  This transition will be included in the upgrade plan.  Other DLL file references may continue with Platform v8+.  This policy is under review and any changes will be publically announced with a one year notice.   Continue to use the XF\<dll file name> syntax in the Business Rule Reference Assemblies (“Integrations”) folder to reference these DLLs.

Is the ‘Integrations Folder’ the same thing as the ‘Reference Assemblies Folder’?

Yes

I’m an existing cloud customer upgrading to Platform v8+. Can I store DLL files in the ‘Bin’ folder?

No, this is a reserved folder.

Has OneStream observed commonly used DLLs failing compilation because the DLLs are .NET framework based? Are .NET Standard or .NET Core equivalents known?

Yes.  Here are a few examples.  If you have any questions, feel free to contact OneStream Cloud Management during the Migration Phase of your v8+ upgrade.

.NET Framework DLL failing v8+ compilation

.NET Std or .NET Core equivalent

Microsoft.Azure.Storage.Blob

AzureBlob.zip

Microsoft.Azure.KeyVault

AzureKeyVault.zip

Microsoft.Azure.Storage.File

AzureFile.zip

Google.Apis.Storage.V1

GoogleS3.zip

AWSSDK.S3

AWSS3.zip

Netstandard

(now included in OneStream install)

WinSCPnet

(now included in OneStream install)

Microsoft.WindowsAzure.Storage.xxx

<research tbd>

Note: zip files are to be unzipped and DLL file contents replace the corresponding .NET framework version files

DLLs that must be transitioned to the SIC Local Gateway Server with v8+

.NET Framework DLL failing v8+ compilation

.NET Std or .NET Core equivalent

Microsoft.Office.xxx

Microsoft.Office.xxx (requires Microsoft license)

Oracle.ManagedDataAccess

Driver version of DLL is included with Local Gateway Server install

Published 2 months ago
Version 1.0
No CommentsBe the first to comment