Re: Forcing an application to load assemblies from a specific path
Curt Hagenlocher <[email protected]> Sun, 24 May 2009 16:32:10 -0700
| Newsgroups | gmane.comp.windows.devel.dotnet.advanced |
|---|---|
| Message-ID | <[email protected]> |
Also, http://geekswithblogs.net/akraus1/archive/2009/05/14/132125.aspx seems to suggest a way to do the private DEVPATH thing. On Sun, May 24, 2009 at 2:30 PM, Fernando Tubio <[email protected]> wrote: > I have a *third-party* .NET application that fails when executed in Windows > 7 (so far I have only tried with the beta, although I expect it to be the > same with the RC). I have already determined the cause. The application uses > reflection to retrieve information for a method in one of the types in the > framework. In Windows 7, this type was changed to add an overload for this > particular method and as a result, the call to Type.GetMethod now fails with > "Ambiguous match found.". (Remember that this is not my application so I > can't change the fact that it calls the GetMethod overload that takes a > single string parameter with the method's name.) > > I will ignore for the moment the fact that we appear to be back in DLL hell > considering that assemblies in Windows 7 maintain the same version number > even though they have breaking changes. To resolve the problem, I want to > configure the application to load the System.dll assembly from .NET 3.5 SP1 > instead. > > My first approach was to set up a DEVPATH to a private folder where I > copied the correct assembly from another machine and I was able to confirm > that the application is able to execute successfully using this version of > System.dll. > > However, to use DEVPATH you must configure it at the machine.config level > and it has an impact on every .NET application in the system. Instead, I > want to configure just this application so that it loads its own private > System.dll. I tried with <assemblyBinding> and a <codeBase> pointing to a > private folder, but this seems to be ignored. > > So the question is, how can I force the application to load System.dll from > a specific path? > > Thanks, > Fernando > =================================== > View archives and manage your subscription(s) at > http://peach.ease.lsoft.com/archives > =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives