-
-
Notifications
You must be signed in to change notification settings - Fork 43
VersionConverter

The Xpand.VersionConverter can your nuget packages to version agnostic.
We have a lot of XAF packages compiled against previous XAF versions. How to reuse them in the latest version without a complex Continuous Integration pipeline
Traditionally:
You have to support multiple versions of your projects, so you can recompile and redistribute each time you want to support a different DX version. You need a complex CI/CD and resources to support it.
eXpandFramework Solution:
Use the Xpand.VersionConverter to patch your packages on the fly in relation to the consuming project skipping the need for additional efforts.
In the screencast you can see how to make our company packages version agnostic and be able to produce really valuable compatibility matrixes like:
The demo is about how to make MyCompany.MyPackage DevExpress version agnostic. The process is simple, we add a dependency to MyPackage.Xpand.VersionConverter package which was generated with the help of the New-XpandVersionConverter XpandPwsh cmdlet.

-
Xpand.VersionConverterpatch all Xpand assemblies found in your Nuget cache to match the DevExpress version of the current project. This patching occurs before the actual build. - If the package fails to detect the DevExpress version due to for e.g to indirect references you can help it with the
DevExpressVersionMSBuild property. - The patching requires locking so the the patched packages are flagged to avoid locks in subsequent builds. To remove the flags you can use the Remove-VersionConverterFlags XpandPwsh Cmdlet.
- To troubleshoot you can enable verbose logging you can set the Environmental
VersionConverterVerboseto 1 and an extensions.log will be created in the package directory. -
Xpand.Versionconverteris already a dependency to all Xpand packages that use DevExpress assemblies in this repository.
Install-Package Xpand.VersionConverterUse main project issues

