Anyone know the proper syntax within the configuration node of the dnn manifest that will properly update the web.config and create a dependent Assembly with multiple bindingRedirects during a module install?
I've tried different permuations of the update & add action parameters, and the collision save & overwrite from manifest config documentation but each time i run an install it seems always overwrite and leave me with the last bindingRedirect node in the chain and none of the codeBase nodes.
I'm trying to achieve something like below in the target installation web.config :
<dependentAssembly>
<assemblyIdentity name="Test.Assembly" publicKeyToken="30ad4asdf4a6as3d" culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0-7.0.2.0" newVersion="7.0.0.0" />
<bindingRedirect oldVersion="7.0.2.1-8.9.0.0" newVersion="8.0.0.0" />
<bindingRedirect oldVersion="9.0.0.0-9.9.0.0" newVersion="9.0.0.0" />
<codeBase version="7.0.0.0" href="bin/Test.Assembly/V7.0.1/Test.Assembly.dll" />
<codeBase version="8.0.0.0" href="bin/Test.Assembly/V8.0.3/Test.Assembly.dll" />
<codeBase version="9.0.0.0" href="bin/Test.Assembly/V9.0/Test.Assembly.dll" />
</dependentAssembly>
I used the following in the dnn manifest:
<node path="/configuration/runtime/assemblyBinding/dependentAssembly/assemblyIdentity [@name='Test.Assembly']" action="udpate" key="name"
collision="save">
<bindingRedirect oldVersion="1.0.0.0-7.0.2.0" newVersion="7.0.0.0" />
<bindingRedirect oldVersion="7.0.2.1-8.9.0.0" newVersion="8.0.0.0" />
<bindingRedirect oldVersion="9.0.0.0-9.9.0.0" newVersion="9.0.0.0" />
<codeBase version="7.0.0.0" href="bin/Test.Assembly/V7.0.1/Test.Assembly.dll" />
<codeBase version="8.0.0.0" href="bin/Test.Assembly/V8.0.3/Test.Assembly.dll" />
<codeBase version="9.0.0.0" href="bin/Test.Assembly/V9.0/Test.Assembly.dll" />
</node>
I've also split out the bindingRedirect & codeBase elements into seperate nodes to try to get better results...
None succeeded.