Search code examples
c#.net-assemblycaliburn.microassemblybindingfuslogvw

Replacing dll to a newer version


I have a Caliburn.Micro application with many projects. Several projects refer to the same dll in a separate folder. Now I needed to replace that dll with a newer version. I removed the reference from all projects and added it again.

But I am getting a runtime error:

enter image description here

How can I resolve this?

P.S. I tried to use fuslogvw.exe, but it shows up empty:

enter image description here


Solution

  • I think you're using Visual Studio. First of all, check in the properties of all that FileHelpers referenced if the Specific Version is set to False (if not, do it). Try to clean and build back.

    If the problem persist, in the app.config of your solution, in the configuration section, add

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="FileHelper" publicKeyToken="3e0c08d59cc3d657" culture="neutral"/>
                <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    

    In this way you should be able to force the used version to the new one.