web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Unanswered

DLL conflict between ISV solutions and custom code

(4) ShareShare
ReportReport
Posted on by 27
Hi community,
 
I'm using google's phone validation DLL (google/libphonenumber) to validate phone numbers in X++ via C#, 
Everything works fine in dev, library can be contacted, phone numbers can be validated, no problems.
 
When I deploy our package to Test, our all in one package also contains multiple ISV solutions, and one of them also uses the same DLL.
There are therefore 2 DLLs with the same name deployed to Test, one in the ISV solution folder, one in our extension folder.
When I test our code in Test Tier 2, I get the following error: 
 
 
It looks like both DLLs are in conflict after that.
This DLL is not used by MS in PackagesLocalDirectory\bin
 
Are 2 versions of the same DLL allowed in multiple packages?
 
What are our alternatives? Should we embed this DLL into our C# wrapper? Is that possible/supported for X++?
 
If I try to link to the ISV dll, our code no longer compiles
 
Much appreciated,
 
Vsilo
Categories:
I have the same question (0)
  • André Arnaud de Calavon Profile Picture
    301,613 Super User 2025 Season 2 on at
    Hi Vsilo,
     
    There can be only one version of the DLL active in runtime. In case there is a difference between them, you can contact the ISV and ask about their plans to use another version. If this will not be a short term solution, you can check if a C# project where you can manage your version of the DLL and then reference your customization to this C# DLL.
  • Martin Dráb Profile Picture
    238,238 Most Valuable Professional on at
    This is not about F&O, it's not a limitation of X++ and it also doesn't matter whether you use the assembly directly from X++ or from C# (it's all CIL under the hood). It's a property of Common Language Runtime itself.
     
    I suggest you change your code to work with the version used by the ISV.
     
    If you could edit web.config, you could specify codeBase, but you can't do that in Microsoft-hosted environments.
     
    .NET offers a way to create a separate application domain. That's isolated from the main application domain and you can load different set of assemblies there. But I've never try it in F&O, and it'll require some knowledge of CLR.
     
    A simpler approach than creating an application domain may be using a separate process, such as an Azure function.
     
    By the way, google/libphonenumber doesn't seem to support any CLR language. Don't you mean libphonenumber-csharp?
  • Assisted by AI
    CU08121023-0 Profile Picture
    on at
    I’m encountering a DLL conflict in Test where both our package and an ISV solution include the same DLL (google/libphonenumber). Only one version can be active at runtime, so I need guidance on handling this. Should I embed the DLL in my C# wrapper, or is it better to adjust my code to use the ISV’s version? I’m looking for a supported approach for X++ and C# in this scenario.
  • Visilo Profile Picture
    27 on at
    Thanks Andre,
    Would you be kind enough to expand further on the last sentence?
     
    you can check if a C# project where you can manage your version of the DLL and then reference your customization to this C# DLL.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

News and Announcements

Season of Giving Solutions is Here!

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Abhilash Warrier Profile Picture

Abhilash Warrier 836 Super User 2025 Season 2

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 441 Super User 2025 Season 2

#3
Martin Dráb Profile Picture

Martin Dráb 346 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans