Closed FH-Inway closed 3 years ago
I‘d also vote for using the RuntimeProvider
, as the database should be in sync with what gets executed, not what is currently modified and not compiled. Also the standard DB sync runs against the compiled DLLs and not the XMLs as far as I know.
Anyone up for the challenge to make the PR?
0.6.53 should contain the fix.
The internal Get-SyncElements function is used to create lists of elements that can be synchronized with the database. The function uses the Metadata API and specifically the
DiskProvider
version of theIMetadataProvider
interface. This provider works with the xml files that make up the source code of a module.However, modules can also be provided as deployable packages that only contain the binary/compiled module without the source code (e.g. ISV solutions). In this case, the
Get-SyncElements
function will find no elements. This means that no partial sync can be done with the d365fo.tools for binary only modules.I propose that instead of the
DiskProvider
, theRuntimeProvider
is used to retrieve the synchronizable elements.