Files
duplicati/Installer/AssemblyRedirects.xml
T
Kenneth Hsu e964072690 Target .NET Framework 4.7.1.
This updates all projects to target .NET Framework 4.7.1.  The
TencentCOS and Tardigrade backends depend on .NET Standard 2.0.  When a
.NET Framework prior to 4.7.1 is targeted, the system cannot be sure
that all the dependencies exist, so it copies all dependent assemblies
to the output directory.  This causes many assemblies from the System
namespace to become bundled in the release.

https://stackoverflow.com/a/48875007

We had previously attempted to make individual projects target 4.7.1
(see pull request #4242), but this can cause compatibility issues when
4.6.2 projects depend on 4.7.1. projects.

This will require Mono 5.10.0 or greater (previously, we required 5.0.0
or greater).

https://www.mono-project.com/docs/about-mono/releases/5.10.0/#class-libraries

This fixes issue #4234.
2020-07-26 19:46:01 -07:00

45 lines
2.3 KiB
XML

<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- Support for loading older backends with the current executable version -->
<dependentAssembly>
<assemblyIdentity name="Duplicati.Library.Utility" publicKeyToken="8bfe994a39631a7b" />
<bindingRedirect oldVersion="0.0.0.0 - 99.9.9.9" newVersion="2.0.0.7" />
</dependentAssembly>
<!-- Support for loading older backends with the current executable version -->
<dependentAssembly>
<assemblyIdentity name="Duplicati.Library.Interface" publicKeyToken="8bfe994a39631a7b" />
<bindingRedirect oldVersion="0.0.0.0 - 99.9.9.9" newVersion="2.0.0.7" />
</dependentAssembly>
<!-- Support for backends that wants older versions of NewtonSoft.Json -->
<!-- The spaces near the equation sign are used to prevent the version being set to the current build by the VersionStamp tool -->
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0 - 99.9.9.9" newVersion = "12.0.0.0"/>
</dependentAssembly>
<!-- Support for backends that wants older versions of KeyVault.Core and System.Net.Http -->
<!-- The spaces near the equation sign are used to prevent the version being set to the current build by the VersionStamp tool -->
<dependentAssembly>
<assemblyIdentity name="Microsoft.Azure.KeyVault.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.4.0" newVersion = "3.0.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion = "4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1"/>
</startup>
</configuration>