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

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 Community,

 

            I have created a business process using a script element that relies on "Newtonsoft.Json.Linq". 

 

 

Scenario 1 : When I add the business process to a custom package, it works perfectly. As shown in below Image

 

#Issue

Scenario 2 : When I add the business process to my app package "UsrG***", it throws an error during publishing due to the Linq dependency.

 

Let me know if you need any more adjustments!

 

Regards,

Ajay K

 

 

Like 0

Like

2 comments
Best reply

Hello,
 

This situation can occur if your custom "UsrG***" package has the "Compile into a separate assembly" attribute.

Compile

When converting a package to assembly package (AP), transferring a schema with code to a AP, or creating a version of a compiled process, the compilation error "The type or namespace cannot be found" occurs if the code uses types from external libraries located in other packages.
To solve your problem, deselect the "Compile into a separate assembly" checkbox for your package and recompile. This should solve the problem.

remove parameter
 

Thank you.

Hello,
 

This situation can occur if your custom "UsrG***" package has the "Compile into a separate assembly" attribute.

Compile

When converting a package to assembly package (AP), transferring a schema with code to a AP, or creating a version of a compiled process, the compilation error "The type or namespace cannot be found" occurs if the code uses types from external libraries located in other packages.
To solve your problem, deselect the "Compile into a separate assembly" checkbox for your package and recompile. This should solve the problem.

remove parameter
 

Thank you.

Serhii Parfentiev,

Thank you.

Show all comments

Hello all,

 

Is there any way yet to disable Creatio automatically generating packagess and adding dependencies? It seems to completely disregard my current package system setting and Creatio's assigns dependencies to go in circles which then takes more time for me to clean up. Half the time when I remove dependencies, I go back to make a save in a package and Creatio assigns more dependencies that I don't want.

 

I end up with so much junk packages in the database with nonsense App_ues323 names and I can't find a way to turn it off.

Like 3

Like

4 comments

Hi Kevin, you need to disable the Feature called UseSchemaDesignPackageUIdByHierarchy. In yor instance must add this "/0/Shell/#Section/AppFeature_ListPage" after cretio.com to open the Features Page, search the feature, disable (turning off the “Is enabled” and “Is enabled for current user”), save and click on  button "Clear Cache".

 

Regards

Julio Falcón

Julio.Falcon_Nodos,

Are there any caveats to doing this Julio?

Gareth Osler,

This basically just reverts the behavior to use the "Current Package" system setting, even for all Freedom UI stuff. I have more info on that here: https://customerfx.com/article/reverting-the-behavior-for-saving-pages-in-the-creatio-freedom-ui-designer-to-use-current-package-setting/

Ryan

Hello!

 

The new package is creating if changes have been made to the application, but its main package is locked.

 

When developing an application, you can force the application not to create a new empty package, but to save changes to the package you created.
This can be done by disabling the UseSchemaDesignPackageUIdByHierarchy system feature - it is responsible for the logic of checking and creating a new package for the application, as well as the CurrentPackageId system setting and the Installed application and Package lookups. 


Now you will need to specify the package (recommended Custom) in the CurrentPackageId setting.

Show all comments

Hi Academy,

Which is the correct set of OOB pacakge dependencies when creating a new pacakge that is going to store developments/customizations done to the mobile app.

Regards

Sasor

Like 0

Like

0 comments
Show all comments

Hello all,

 

My colleague and I are trying to develop applications with specific dependencies but Creatio keeps adding dependencies we don't want to the package when we save a business process. Is there a way to turn off the automatic adding of dependencies? I'd prefer to receive an error message if I'm using something for which I don't have access.

Like 2

Like

2 comments

I would love to turn this off and have an error telling me what it needs instead. The auto adding dependencies could be nice but I’d prefer to control that myself. I’ve ran into issues where it attempts to add a dependency for the same package that the item is already located in and then complains that it’s a circular dependency. 

Ryan

Not getting the exact same error, but similar behavior: 



modifiying customer 360 list & form pages, getting account new objects, pages etc saved in my current set package, and the contacts saved automatically in a new package of Creatio's choice.... Quite confusing

Show all comments

hi all,

 i have my Vm Installed Creatio in it with version 7.18.4.1532 

 

so when i create a package and add dependencies " SalesEnterprise_Marketing_ServiceEnt " it gives me this error 

any sol please 

thanks 

Like 0

Like

2 comments

I believe the error is indicating that you have bound data in your package for SysModuleInWorkplace and the bound data references a record in SysWorkplace that doesn't exist in your package. 

Basically, you've added something to a workplace and bound that in the package. However, The workplace itself hasn't been added as bound data to the package.

To solve this, add bound data for the SysWorkplace record that is referenced by the SysModuleInWorkplace record currently bound in the package.

Ryan

Hello

Please follow the described steps on how to bind data:
(Use your ID from error message)
1. Create a "Data" element in your package. Example in screenshot below.
Screenshot 2023-12-29 193055.png
2. Select the SysWorkplace object. Example in screenshot below.
image.png
3. On the "Bound Data" tab, add the id specified in the error. Example in screenshot below.
image.png
4. Select the id specified in the error from the list. Example in screenshot below.
image.png

5. The result.
Screenshot 2023-12-29 192311.png
 

Show all comments

I installed the "Calculation Working Days" business process template from marketplace. It is set as having the Custom Package as its only dependent package, but we need to be able to use it as part of business processes in our current configuration package (which is not the Custom Package). When I try to add the  package from marketplace as a "dependent on" for our current package I get an error. See screenshot. Posting here as the Marketplace page says it's supported via posts in Creatio Community.   https://marketplace.creatio.com/template/calculation-working-days-busin…

Like 0

Like

2 comments

Hi Andriana!

The issue is caused by the missing data binding for the "SysWorkplace" and "SysModuleEntity" objects. To fix the issue, make sure that data with aforementioned IDs is bound to the package that is experiencing data binding issues.

Hello,

 

We are facing a similar issue. Could you please let me know if binding solved this issue? Please confirm what are the bindings that need to be done because I see that sections are already present in the SysModuleInWorkplace_SectionInWorkplaceManager data binding. 

Show all comments

Changes on attributes dependencies are not being triggered on my detail edit page. Any reason for that ?

regards,

Like 0

Like

1 comments

Ricardo,

 

It's really hard to understand the issue completely without the code of the detail edit page and without the logic that the code represents. Can you please provide us with it?

 

Best regards,

Oscar

Show all comments