Hi
I have a problem with the development environment
I have a DLL (jproot.dll) versionned 1.9.0.33 that I have shipped to my customer
My customer made a DLL (cust.dll, versionned 1.2.3.4) that depend on jproot.dll
In the manifest of this cust.dll (ildasm), it is written that it depends on jproot.dll version 1.9.0.33, which is ok
I have an application (sample.exe) that depends on cust.dll
Since everything is well encapsulated, jproot.dll and sample.exe can evolve without functionnaly affecting cust.dll. And since cust.dll is build by my customer, I don't have the luxury to ask him to rebuild often
So when jproot.dll continues to evolve , I increment the version number (ex: 1.9.0.46). But when I try to rebuild sample.exe, the environment give me the following error
---
Error: The dependency 'jproot, Version=1.9.0.33, Culture=neutral' in project 'sample' cannot be copied to the run directory because it would conflict with dependency 'jproot, Version=1.9.0.46, Culture=neutral'
---
note that jproot version 1.9.0.33 doesn't exist anymore on my disk and this is happening because the environment reads the manifest of cust.dll and sees that there is a need for version 1.9.0.33 but would conflict with version 1.9.0.4
It make sence that this is happening because
- sample.exe requires 'jproot 1.9.0.46' and 'cust.dll 1.2.3.4
- and cust.dll requires 'jproot 1.9.0.33
and the environment doesn't know what to do about this
The workaround suggested in MSDN is not acceptable because it would require me to add an explicit reference to jproot.dll in sample project which would break encapsaluation from project perspective
In my case I would like the environment to discard the version information in the assemblies when resolving references. Is that possible
If not, is there a way to get around this? a config file? registry? project config
Thank
JPRoo