Runtime Conflicts in Architect

There were some runtime conflicts after upgrading NuGet packages to the latest versions. The conflicts arose between different versions of packages that we don’t reference directly but rather are referenced by our direct dependencies.

Runtime configuration in origam-source\OrigamSetup\config\OrigamArchitect.exe.config was chosen as the solution to this problem. This file contains a list of exact verions of the confilicting dlls to be used by the Architect at runtime.

  <runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
        <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51"/>
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
    </dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" culture="neutral"
						  publicKeyToken="adb9793829ddae60"/>
		<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="Microsoft.Extensions.FileProviders.Abstractions" culture="neutral"
						  publicKeyToken="adb9793829ddae60"/>
		<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="Microsoft.Extensions.Primitives" culture="neutral" publicKeyToken="adb9793829ddae60"/>
		<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="System.ComponentModel.Annotations" culture="neutral" publicKeyToken="b03f5f7f11d50a3a"/>
		<bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" culture="neutral"
						  publicKeyToken="b03f5f7f11d50a3a"/>
		<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="System.Text.Encodings.Web" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51"/>
		<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="System.Text.Json" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51"/>
		<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="System.Threading.Tasks.Extensions" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51"/>
		<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1"/>
	</dependentAssembly>
	</assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
	<dependentAssembly>
		<assemblyIdentity name="System.ValueTuple" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51"/>
		<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
	</dependentAssembly>
	</assemblyBinding>
  </runtime>

This means that from now on whenever a version of any of these dlls is changed using the NuGet, the version has to be changed here as well.

Doesn’t this apply to server at all?

No. There are no known dll conflicts that would prevent server from running.