-
-
Notifications
You must be signed in to change notification settings - Fork 41
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.VersionConverter
patch 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
DevExpressVersion
MSBuild 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
VersionConverterVerbose
to 1 and an extensions.log will be created in the package directory. -
Xpand.Versionconverter
is already a dependency to all Xpand packages that use DevExpress assemblies in this repository.
Install-Package Xpand.VersionConverter
Use main project issues