I was trying to create Assemble Package and created one c# file which has dependencies on NewtonsoftJSON dll. When I tried to publish it says it required dll (attached reference). If we import the DLL into the current package it is working as expected but as per my understanding, we need to add the Assembly package dependencies on [Package name].csproj file.
I could see below code already presents there,
False
False
which means should we need to create any folder with Assemblies or we manually need to import all the package dependencies through import?
If it’s a regular package you can use the Newtonsoft.Json core library, but for the assembly package, the required DLL must be added to the package explicitly.
The Assembly package is like an external cs project.
If you want to use an external library like Newtonsoft.Json.dll in your project - you have to specify it as a reference for your project (using) by adding that dll to the package.
The same can be achieved by using the Terrasoft core class without adding any explicit dll reference into the package as below,
Example of the code:
using CommonJson = Terrasoft.Common.Json;
string orderItemsInput = CommonJson.Json.Serialize("YourObject");
I'm working on an assembly package and I'm currently using OData3 for some integrations. I noticed that the end-point "/0/ServiceModel/EntityDataService.svc/" is not exposing the methods of the custom entities. Do you have any ideas to solve this problem?
I have a visual studio C# project binded to OdataV3 endpoint ("/0/ServiceModel/EntityDataService.svc/") and I don't find the custom entities created by me.
The problem is that if I try to generate ODataV4 client code using "Unchase OData Connected Service" add-On it returns this error when I use ODataV4 endpoint.
While if I use ODataV3 endpoint with "Unchase OData Connected Service" add-On everything runs fine but the custom entities are missing (first picture). Furthermore if I use ODataV3 in a simple package every custom entity endpoint is available.
The problem is that OData3 forms its metadata based on the default assembly and doesn't include separate assemblies (where your objects are located), while OData4 uses a separate special assembly (neither default nor the custom one). And that's why its impossible to get access objects in packages compiled in the separate assembly using OData 3.
Our core R&D team will review this logic in the future releases, meanwhile the only way to access the object is using OData 4 only.
I'm working on an assembly package and I'm dealing with some problems due to some customizations, in fact I tried to modify the replacing object of the Account, in particular the 'AccountInserting' event.
After this operations I noticed that the source code of the object remains empty and that the changes don't work, while doing the same operations in a "simple" package the source code is filled in and the changes work.
Do you have any idea why this is happening and how to fix this issue?
It is not possible to implement object business logic via event sub-processes in the Object Designer. Use EntityEventListener to work with the event model. The EntityEventListener event set does not entirely match the event model in Creatio IDE. Learn more about the Entity event layer: Objects business logic.
And enabling the event on the object is needed for the sub-process in the object designer only. Please use the EntityEventListener instead.
It is not possible to implement object business logic via event sub-processes in the Object Designer. Use EntityEventListener to work with the event model. The EntityEventListener event set does not entirely match the event model in Creatio IDE. Learn more about the Entity event layer: Objects business logic.
And enabling the event on the object is needed for the sub-process in the object designer only. Please use the EntityEventListener instead.
I actually enabled the event on the object just to use it (as you said) in the sub-process in the object designer, but the customizations that I made there didn't work in an assembly package, instead worked in a simple one.
Let me know if I have made myself clear or if you need other explanations.
As you said, you've enabled the event on the object to use in the sub-process in this object and did it in the assembly package. As stated on the Academy - it's impossible to use sub-processes on the object in the assembly package (and as a result the source code for the object won't be updated in case you are designing this sub-process in the assembly package). Can you please clarify what exactly is expected here?