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

Announcements

No record found.

News and Announcements icon
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
    303,085 Super User 2026 Season 1 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,736 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

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

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

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 577 Super User 2026 Season 1

#2
Giorgio Bonacorsi Profile Picture

Giorgio Bonacorsi 309

#3
Diego Mancassola Profile Picture

Diego Mancassola 259

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans