You can downgrade an installed MDriven Framework version and resolve the build or assembly conflicts that can remain afterwards; this page is for developers working with an existing Visual Studio solution.
A version change can leave generated code, installed assemblies, or Global Assembly Cache (GAC) entries from the previous version. Start with the least invasive recovery procedure and continue only when the previous procedure does not resolve the problem.
Before you start
Close applications that use the solution before you change the installed MDriven Framework version or remove GAC assemblies. An application that still has an assembly loaded can prevent removal and leave conflicting files behind.
Install the required earlier MDriven Framework version from the installer file you downloaded. If the installer asks whether to uninstall the currently installed version, select Yes.
After installation, open the solution in Visual Studio and follow the recovery steps below.
Step 1: Clean, update generated code, and build
Use this procedure first. It removes existing build output, regenerates the solution code, and compiles against the installed Framework version.
- In Visual Studio, right-click the solution in Solution Explorer.
- Select Clean Solution. Wait for the clean operation to complete.
- Run Update All Code. This updates code generated from the MDriven model.
- Build the solution.
For example, if compilation reports a missing or incompatible MDriven assembly immediately after the downgrade, cleaning and then running Update All Code ensures that the build uses newly generated output rather than output produced with the later version.
If the solution builds, no further cleanup is required.
Check the target .NET Framework
If compilation errors state that the project targets a .NET Framework version earlier than 4.5, update the affected projects to target at least .NET Framework 4.5. The MDriven core assemblies, including Eco.Handles and Eco.Interfaces, require .NET Framework 4.5 because of the move from legacy SSL support to TLS support. See Documentation:.net version for the requirement and HTTPS guidance.
Step 2: Reinstall the required Framework version
Use this procedure when Step 1 does not resolve the errors, including when the rebuild produces additional assembly-related errors.
- Close all instances of Visual Studio.
- In Windows, open Add or remove programs.
- Find MDriven Framework and select Uninstall.
- Wait until the uninstall has completed.
- Install the MDriven Framework version that the solution requires.
- Reopen the solution in Visual Studio.
- Right-click the solution and select Clean Solution.
- Run Update All Code, then build the solution.
If errors still refer to an unwanted assembly version after reinstalling, continue with GAC cleanup.
Step 3: Remove obsolete GAC assemblies
The Global Assembly Cache (GAC) is a Windows store for shared .NET assemblies. Older MDriven Framework installations may have placed assemblies there. Because GAC assemblies can take precedence over assemblies elsewhere on disk, an obsolete entry can cause an assembly-version or manifest mismatch after a downgrade.
Use this step only when the previous steps do not resolve the issue. It removes MDriven-related assemblies from the GAC; do not remove unrelated assemblies.
Use PowerShell and GacPress
- Close Visual Studio and all applications connected to the solution.
- Uninstall MDriven Framework through Add or remove programs, as described in Step 2.
- Open PowerShell as Administrator.
- Install the GacPress module:
Install-Module GacPress
- If PowerShell prompts you to install NuGet or confirm installation, answer
Yas needed. - If PowerShell reports that scripts cannot run, enable script execution for your user and then repeat the command:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- List the installed ECO-related GAC assemblies:
Get-GacAssembly Eco*
- Identify the public key token in the output. For example, if the output shows
PublicKeyToken=46a833be9e90de8c, remove assemblies using that token:
Get-GacAssembly -PublicKeyToken 46a833be9e90de8c | Remove-GacAssembly
- Check
C:\Program Files (x86)\CapableObjects. If files remain after uninstalling, remove the remaining files manually. - Install the MDriven Framework version required by the solution.
- Verify the result with
Get-GacAssembly Eco*. The remaining assemblies should belong only to the version you installed. - In Visual Studio, clean the solution, run Update All Code, and build.
Use Ctrl+V to paste commands into PowerShell. In some Windows versions, right-click paste can alter the hyphen character in a command.
Broad removal by assembly name
You can remove MDriven-related GAC assemblies by name instead of filtering by public key token. This is broader and can be useful when the unwanted version is not readily identifiable, but it is easier to remove more assemblies than intended. Run these commands only after closing applications that use MDriven assemblies:
Get-GacAssembly Eco* | Remove-GacAssembly
Get-GacAssembly Droopy* | Remove-GacAssembly
Get-GacAssembly MDriven* | Remove-GacAssembly
Get-GacAssembly Wecpof* | Remove-GacAssembly
Install the required Framework version after removal, then clean, update all code, and build the solution.
Manual GAC cleanup
If PowerShell cleanup is not available, you can inspect the GAC in File Explorer:
- Close Visual Studio and all applications that use the affected solution.
- Open
C:\Windows\Microsoft.NET\assembly\GAC_MSIL. - Delete folders matching
Eco.*,MDriven*, andWECPOF*. - If Windows reports that a file is locked, an application still uses the assembly. Use Task Manager to find and end the application, then retry.
- Install the required MDriven Framework version.
- Clean the solution, run Update All Code, and build.
Common symptoms
| Symptom | Likely action |
|---|---|
| The solution fails to compile after the version change. | Run Step 1. Also verify that affected projects target .NET Framework 4.5 or later; see Documentation:.net version. |
| Reinstalling does not remove errors that name an old assembly version or report a manifest mismatch. | Run Step 3 to remove obsolete GAC entries, then reinstall the required version. |
| MDriven Designer or the MDriven Framework Visual Studio tooling fails to start and reports a plugin-loading or manifest-definition mismatch. | Follow Documentation:Exception starting, which covers known residue from older installations and the relevant GAC folders. |
Version and platform considerations
This page concerns installed MDriven Framework versions and legacy GAC cleanup. MDriven is moving away from GAC reliance as its tooling and applications move to newer .NET versions. For current .NET and NuGet direction, see Documentation:Dotnet core.
MDriven 7.2 includes assembly and API changes that can require source changes in older projects. For example, generated WinForms code using Eco.Handles.IColumn[] may need to use Eco.Handles.AbstractColumn[]. Review Documentation:MDriven 7.2 when the version change involves MDriven 7.2.
