Problem Description
I'm trying to integrate an external .NET library (Npgsql) into my custom Creatio package to connect with a PostgreSQL database. However, I'm encountering version compatibility issues with System.Runtime.

 Current Setup
- Package Name: UsrWebServiceLog
- Target Library: Npgsql
- Current Error:
 

Assembly 'Npgsql' with identity 'Npgsql, Version=8.0.5.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' uses 'System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime'

 What I've Tried
1. Adding the library reference directly to my package project
2. Attempting to use an older version of the library
3. Adding System.Runtime reference

 Questions
1. What is the correct approach to include external .NET libraries in a Creatio custom package?
2. Are there specific version requirements or limitations I should be aware of?
3. Should the library be installed at the workspace level or package level?
4. Is there a specific location where external DLLs should be placed?

 Code Context
I'm trying to implement a web service that connects to PostgreSQL:

namespace Terrasoft.Configuration.UsrPostgressConnection
{
   [ServiceContract]
   public class UsrPostgressConnection : BaseService
   {
       // Service implementation
   }
}

Any guidance on best practices for managing external .NET dependencies in Creatio would be greatly appreciated. Thank you in advance!

 Environment Details
- Creatio Version: 8.1.3
- Development Environment: On-site
- .NET Framework Version: 4.7.2

Like 1

Like

2 comments
Best reply

Kyrylo Atamanenko,

According to your suggestion, it might function if I use an older version of the Npgsql driver.

Hello!

 

Actually this issue occurs because Npgsql assembly (version 8.0.5) depends on System.Runtime version 8.0.0, which is a newer version than the System.Runtime the version currently referenced in your project.

 

.NET Framework 4.7.2 does not support System.Runtime version 8.0.0, as this version of System.Runtime is associated with .NET 8, which is part of the .NET (formerly .NET Core) family, not .NET Framework.

The highest System.Runtime version that .NET Framework 4.7.2 supports is within the 4.x series. .NET 8.0 and its libraries, including System.Runtime version 8.0.0, are compatible only with .NET Core 8 / .NET 8 or higher.

Kyrylo Atamanenko,

According to your suggestion, it might function if I use an older version of the Npgsql driver.

Show all comments

Hello all

 

We have a Package with a few object schemas and source code schemas and we work out of file development mode. When we upload the files from file system to the application, we get an error saying "The type or namespace name 'Logging' does not exist in the namespace 'Terrasoft.Configuration'. Are you missing an assembly reference". This error happens in a few Autogenerated files (In the C# Class files for new objects we had created).

 

This is weird because we tried installing this on a brand new Vanilla instance and the same issue persist. Few questions below - 

  1. Why does this happen and what is the fix for this?
  2. Is this related to the contents of our package or related to the setup of the instance itself?

Appreciate your help!

 

Like 0

Like

3 comments

Hello Community!



This has been a recurring problem for us with no root cause/fix in sight. Request your help. 

Hello community! Would appreciate your help here

Dear All!

 

We apologize for missing this Community question.

 

Could you please advise if you are seeing an error or a warning?

Is it possible for you to share a screenshot?

In addition, after you receive this message, have you tried 1. Generating the source code and then 2.Compiling the system and checking if there is the same message?

 

Usually Generating the source code and then compiling the system helps to resolve this issue.

 

Looking forward to your response!

 

Thank you!

Regards,

Danyil

Show all comments