Re: Forcing an application to load assemblies from a specific path
Fernando Tubio <[email protected]> Tue, 26 May 2009 18:29:48 -0300
| Newsgroups | gmane.comp.windows.devel.dotnet.advanced |
|---|---|
| Message-ID | <049801c9de49$4d0daad0$65043c0a@glasgow> |
> I would have to run with the exact version I compiled against ... > > Sounds familiar. Maybe it sounds familiar because it is the very definition of side-by-side execution in .NET. It shouldn't matter whether another version fixes a bug. You still have the choice to run against the version that you compiled against and that *works*. This is what is missing here. ----- Original Message ----- From: "Greg Young" <[email protected]> To: <[email protected]> Sent: Tuesday, May 26, 2009 4:59 PM Subject: Re: [ADVANCED-DOTNET] Forcing an application to load assemblies from a specific path > By your logic no bug could ever be fixed in a version and all releases > would > have to be side by side. > > I would have to run with the exact version I compiled against ... > > Sounds familiar. > > On Tue, May 26, 2009 at 3:49 PM, Fernando Tubio <[email protected]> > wrote: > >> Finally! You seem to agree with me >> >> ... "There's really nothing anyone can do to avoid breaking an >> application >> that is making incorrect assumptions while reflecting code."... >> >> So it is a breaking change, sorry, a "disruptive alteration". >> >> I insist that you are trying to push me into an API discussion when I >> believe this is a deployment issue, and a very difficult one. I think >> they >> can fix all the APIs that they want, and I'm glad that this happens. I'm >> not >> convinced that claiming that this is still .NET 3.5 SP1 is the way to go. >> And if Windows 7 introduces changes that can potentially disrupt >> applications, then you should still be able to deploy the original >> framework bits side by side and get on with your life. But I'm sure that >> there are a lot more issues to consider other than maintaining >> compatibility >> with a badly written application. Perhaps this is the reason why I'm >> reluctant to "pick a side". That, and the fact that if you look at the >> subject line, you will recall what my primary concern was. Certainly not >> argueing for the inmutability of the framework APIs or the bad use of >> reflection. >> >> - Fernando >> >> ----- Original Message ----- From: "Peter Ritchie" < >> [email protected]> >> To: <[email protected]> >> Sent: Tuesday, May 26, 2009 2:24 PM >> Subject: Re: [ADVANCED-DOTNET] Forcing an application to load assemblies >> from a specific path >> >> >> The problem is you haven't picked a side. You've said you think the >> framework shouldn't break any software that runs on the previous version >> as >> well as saying their API is not wrong. >> >> Do you see the contradiction in this? If the API isn't wrong and doesn't >> need changing, how do they "fix" the framework so it doesn't break this >> poorly coded application in the RTM version? >> >> The interface contracts and the semantics of the framework are what the >> .NET >> framework is supposed to address with regard to "DLL hell". Even then, >> it's >> only as good at this as the designer of the framework. If the designer >> removes methods, properties or even classes; you're right back to DLL >> hell. >> >> There's really nothing anyone can do to avoid breaking an application >> that >> is making incorrect assumptions while reflecting code. >> GetMethod("MethodName", BindingFlags.Instance | BindingFlags.Public) is >> one >> example--avoiding breaking this means never adding overloads to the >> framework. Another example is typeof(String).GetField("m_arrayLength", >> BindingFlags.NonPublic | BindingFlags.Instance)--avoiding breaking this >> means never changing or removing private fields. There's endless >> examples >> like this that eventually lead you to the only solution to making sure >> existing applications don't break with a new version of the framework is >> to >> never change the framework. >> >> -- Peter >> >> On Tue, 26 May 2009 13:54:30 -0300, Fernando Tubio <[email protected]> >> wrote: >> >> No, I'm leaving all the suggestions to you. I'm simply replying to your >>> objections to my use of the term "breaking change". If Windows 7 ships >>> with >>> the framework and they call this .NET 3.5 SP1, and the application >>> breaks, >>> then it is a breaking change. >>> >>> Look, you are trying to push me into a side of the argument where I do >>> not >>> wish to be. Whether MS is justified in introducing this change at the >>> risk >>> of breaking some applications, I don't know. As I said previously, this >>> is >>> really no different from DLL hell and I'm a little bit disappointed that >>> this is not handled better. After all, this is one of the issues that >>> .NET >>> was supposed to address. >>> >>> >> =================================== >> 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 >> > > > > -- > It is the mark of an educated mind to be able to entertain a thought > without > accepting it. > > =================================== > 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