4

I have the following problem. I created software, containing several projects in one solution. When I fix a bug in one of my projects which doesn't change how functions behave, (For example a simple string change, or an extra try/catch block within a function) I must recompile and provide all my dll's again, because when I only provide the changed dll, the version doesn't match. I understand that the problem is due to the fact that my dll's are strongly named. But is there any way to accomplish that I can just replace the changed dll, while the version number is raised, without changing and distributing the other dll's?

Justin
  • 84,773
  • 49
  • 224
  • 367
Jeroen
  • 41
  • 2
  • I may be misunderstanding, but can't you just set the property of the DLL `Specific Version` equal to false? – anothershrubery Sep 06 '11 at 14:48
  • Also see http://stackoverflow.com/questions/3285758/target-non-specific-version-of-an-assembly – LostInComputer Sep 06 '11 at 14:51
  • Careful with that version number. Increment [AssemblyFileVersion], not [AssemblyVersion]. – Hans Passant Sep 06 '11 at 14:55
  • The Specific Version is not available for project references. I changed the 'Assembly Version' back to the version number is was before my changes, but nothing changed. – Jeroen Sep 07 '11 at 06:09
  • If I read the link of @EugeneO, I basically understand that what I wan't is not possible because I signed my projects? I thought the use of dll's would enable me to replace just parts of the software :-( – Jeroen Sep 07 '11 at 06:10
  • You could potentially use assembly forwarding which is defined in the app/web config to have your existing apps use the new dll without recompiling/deploying the whole works. see: http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx – Joe Caffeine Sep 21 '13 at 16:40

1 Answers1

1

You can have both dlls and can use bindingRedirect as in below link

dll versioning in dotnet

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="AssemblyName"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="neutral" />
            <bindingRedirect oldVersion="1.0.0.0"
                             newVersion="2.0.0.0"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>
somesh
  • 3,508
  • 4
  • 16
  • 10