A "The given key was not present in the dictionary." Error Occurs When Creating A New Blank Session In a Non-English Version Of Quick Fields 8.0.2.

April 23, 2012 | KB: 1012967
Quick Fields 8.0.2

Summary

After you install Laserfiche Scanning 8.3.1 on a computer with a non-English version of Quick Fields 8.0.2, attempting to create a new session within Quick Fields may display an error message similar to the following:

    The given key was not present in the dictionary.
    =============================================
    Stack Trace
      at System.ThrowHelper.ThrowKeyNotFoundException()
      at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
      at Laserfiche.QuickFields.Runtime.QFEngineManager.CreateEngine(Type engineType)
      at Laserfiche.BatchProcessor.ComponentModel.EngineManager.ChangeEngine(Type engineType)
      at Laserfiche.QuickFields.QFSessionFactory.CreateBlankSession(QFSession session)
      at Laserfiche.QuickFields.QFSessionFactory.InitializeNewSession(ISession session)

Cause

This issue occurs because the non-English resources for Quick Fields 8.0.2 does not explicitly define what version to load of a shared assembly. Without that definition, Quick Fields defaults to loading the most recent version of the shared assembly, which may not be backwards compatible with Quick Fields.

Resolution

Manually append the necessary information to the "Laserfiche.QuickFields.exe.config" file.

  1. Using a text editor, open the "Laserfiche.QuickFields.exe.config" file located in your Quick Fields installation folder. By default, Quick Fields is installed at either "C:\Program Files\Laserfiche\Quick Fields 8.0" or "C:\Program Files (x86)\Laserfiche\Quick Fields 8.0."
  2. Under the <runtime> element, add a new <dependentAssembly> element:
  3. <dependentAssembly>
      <assemblyIdentity name="Laserfiche.BatchProcessor.Processes" publicKeyToken="35de22b2ae3b724a" />
      <publisherPolicy apply="yes" />
      <bindingRedirect oldVersion="8.3.0.0" newVersion="8.1.0.0" />
    </dependentAssembly>

  4. Save your changes to Laserfiche.QuickFields.exe.config.