Chrissy LeMaire shows how to load SMO with full names when you don’t know which version is installed:
In a recent version of PowerShell, Publish-Module, which publishes modules to the Gallery began requiring fully qualified Assembly names such as “Microsoft.SqlServer.Smo, Version=$smoversion, Culture=neutral, PublicKeyToken=89845dcd8080cc91”.
Previously, it was sufficient just to use short names such as Microsoft.SqlServer.Smo. This had similar behavior to LoadWithPartialName.
I get that LoadWithPartialName is sketchy, but the solution that Chrissy has to do seems overly complicated to me. Nonetheless, those are the rules of the game now, I suppose.