Upgrading to a new re-motion version
Upgrading to a new version of re-motion involves these steps:
- replace the old set of assemblies (let's say 1.13.6.2) with the new set of assemblies (let's say 1.13.13.2)
- overwrite all the old references for the new ones in each of the three subprojects
- PhoneBook.Domain
- PhoneBook.Sample
- PhoneBook.Web
- overwrite all the old reference for the old ones in the
Web.config
file
Tools exist for these steps, of course:
- newversion.cmd replaces assemblies by copying them from a source directory to a target directory
- replacer.exe substitutes strings for other strings in files
Close Visual Studio with the PhoneBook project
... thereby avoiding a mess (it should work with Visual Studio open, too,
but hitting the "Reload" again and again is BORING.
If you are too lazy to invoke replacer.exe
manualy four times, use this handy batch-script (tools\replacerversion.cmd
):
REM assumed to run in the TOOLS subdirectory replacer\replacer\bin\debug\replacer %1\PhoneBook.Domain\PhoneBook.Domain.csproj %2 %3 replacer\replacer\bin\debug\replacer %1\PhoneBook.Sample\PhoneBook.Sample.csproj %2 %3 replacer\replacer\bin\debug\replacer %1\PhoneBook.Web\PhoneBook.Web.csproj %2 %3 replacer\replacer\bin\debug\replacer %1\PhoneBook.Web\Web.config %2 %3
Adapt to the new API!
More likely than not, your project improved project will not build right away. After an upgrade it is typically broken, because the re-motion API has changed from the old version to the new version. You have to change code to make it work. Usually these modifications will be minor, sometimes they will be tricky and you will need the help of developers.
Keep notes on all the changes you make, because those have to go into the template upgrade (Upgrading the templates to a new re-motion version,
that's the next step in the innovation cycle).