Different layers of the framework receive different levels of scrutiny towards backward compatibility. The core fx, that includes the bcl is definitely back compat if they say it's a in-place install -- not sure that's the claim for 4.6, havent checked.
Now, EF (sql team), WCF, WF (connected systems) and even things like unicode support and System.Net (windows) live in different divisions within MS. While they are told about the requirements, there arent enough resources within the fx team to ensure there are nothing breaking compat, esp for more advanced and rarely touched apis, which seems to be the case for wcf. On Tue, May 5, 2015 at 1:29 AM, Jonathon Rossi <[email protected]> wrote: > Matteo your comments here and on the GitHub issue have come across as a bit > hostile (whether intended or not), especially deleting some of your GitHub > comments, and that is why you haven't received the friendliest response. > Lets end the discussion here on how people believe we should respond to > users and focus on the task at hand, we have been honest that we weren't > looking into the issue so users knew, definitely no malice. > > A week after the defect was logged on GitHub I went to the trouble of > setting up a VS2015 Preview VM to see if I could track the problem down, and > requested that someone more familiar put together a repro without Castle > libraries to report to Microsoft. I still believe this is a WCF defect and > not a Castle WCF facility one. > > I understand that it is frustrating, but .NET 4.6 is definitely not a > side-by-side runtime, here is Microsoft's description of it. With new > features like a brand new 64-bit JIT I'm not surprised there are a few > regressions, using prerelease software is going to have the early adopter > problem unfortunately. There might still be time to get a fix into .NET 4.6 > if the defect is actually a common WCF use case, or into the first update. > >> The Microsoft .NET Framework 4.6 Preview is a highly compatible, in-place >> update to the Microsoft .NET Framework 4, .NET Framework 4.5, .NET Framework >> 4.5.1 and .NET Framework 4.5.2. > > Jono > > On Tue, May 5, 2015 at 5:55 PM, Matteo Migliore <[email protected]> > wrote: >> >> I think that even if the main developers have no time to follow the >> project, they could answer in a better way. >> >> We already have OSS code to maintain and we never answer "do it yourself" >> if somebody discovers a bug o need a feature. >> >> That said, I don't understand how a new version of the .NET framework can >> cause an interaction with a previous version that should be isolated and >> allow side by side versioning. >> >> Is not a criticism versus Castle but a question related to .NET that for >> me is unespected. >> >> Thanks. >> >> On Monday, May 4, 2015 at 11:55:50 PM UTC+2, hammett wrote: >>> >>> I think the point is that we work on stuff that happen to be the >>> intersection of what other people needs *and* what we need. >>> >>> I havent used WCF.. ever. Craig originally created the WCF facility >>> out of need, but I dont think he's doing .NET anymore. So either the >>> people who need the facility are able to maintain it, or it's a dead >>> component of this project. >>> >>> Unfortunately, this is how OSS works when there isn't a company >>> backing it up, allocating their people's time to fix bugs. >>> >>> >>> >>> >>> >>> On Mon, May 4, 2015 at 1:58 PM, Matteo Migliore >>> <[email protected]> wrote: >>> > If you have time to solve it, do it. This is a forum to solve problems >>> > or >>> > create problems? >>> > >>> > >>> > On Monday, May 4, 2015 at 10:54:52 PM UTC+2, Henry Conceição wrote: >>> >> >>> >> So, you do have time/disposition to complain, time/disposition to >>> >> migrate >>> >> your codebase, time/disposition to re-test it, but don't have "time" >>> >> to work >>> >> on a pull request. Interesting... >>> >> >>> >> On Monday, May 4, 2015 at 12:06:28 PM UTC-3, Matteo Migliore wrote: >>> >>> >>> >>> I'm trying to use WCF Unity to solve the problem and remove Castle, >>> >>> not >>> >>> happy of this, but we cannot wait more. >>> >>> >>> >>> We are already migrating to web API. >>> >>> >>> >>> On Monday, May 4, 2015 at 4:55:38 PM UTC+2, Milan Cerny wrote: >>> >>>> >>> >>>> Hi Filip. Me too (the same issue). It's another reason to run out of >>> >>>> WCF >>> >>>> to the simple html requests :) >>> >>>> >>> >>>> Dne úterý 14. dubna 2015 21:27:13 UTC+2 Filip Kinsky napsal(a): >>> >>>>> >>> >>>>> I just created an issue for this problem: >>> >>>>> http://github.com/castleproject/Windsor/issues/84 >>> >>>>> >>> >>>>> On Monday, March 30, 2015 at 5:01:23 PM UTC+2, Filip Kinsky wrote: >>> >>>>>> >>> >>>>>> The same error ocurs after recent Windows 10 Windows Update when >>> >>>>>> ASP.NET 4.6 runtime upgrade was delivered btw. >>> >>>>>> >>> >>>>>> On Mon, Mar 30, 2015 at 2:42 PM, Diana Ionita <[email protected]> >>> >>>>>> wrote: >>> >>>>>>> >>> >>>>>>> I'm running into exactly the same issue. Would really appreciate >>> >>>>>>> a >>> >>>>>>> workaround. >>> >>>>>>> >>> >>>>>>> Thanks! >>> >>>>>>> >>> >>>>>>> >>> >>>>>>> On Monday, March 23, 2015 at 2:23:46 PM UTC, Filip Kinsky wrote: >>> >>>>>>>> >>> >>>>>>>> Hello, >>> >>>>>>>> I was trying Visual Studio 2015 CTP and got ASP.NET 4.6 upgrade >>> >>>>>>>> during the VS installation. I use Windsor WCF integration, which >>> >>>>>>>> seems to >>> >>>>>>>> get broken due to this upgrade. I'm injecting >>> >>>>>>>> Castle.Facilities.WcfIntegration.IWcfClientFactory to my >>> >>>>>>>> services and use >>> >>>>>>>> this simple extension method to retrieve the WCF client: >>> >>>>>>>> >>> >>>>>>>> public static T GetClient<T>(this IWcfClientFactory >>> >>>>>>>> factory) >>> >>>>>>>> where T : class >>> >>>>>>>> { >>> >>>>>>>> var componentName = typeof (T).FullName; >>> >>>>>>>> return factory.GetClient<T>(componentName); >>> >>>>>>>> } >>> >>>>>>>> >>> >>>>>>>> >>> >>>>>>>> The GetClient method throws this exception after the upgrade: >>> >>>>>>>> >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.ComponentActivator.ComponentActivatorException: >>> >>>>>>>> WcfClientActivator: could not proxy component XXX ---> >>> >>>>>>>> System.NullReferenceException: Object reference not set to an >>> >>>>>>>> instance of an >>> >>>>>>>> object. >>> >>>>>>>> at System.RuntimeMethodHandle.GetHashCode() >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(T >>> >>>>>>>> obj) >>> >>>>>>>> at System.Collections.Generic.Dictionary`2.FindEntry(TKey >>> >>>>>>>> key) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.ServiceModel.Dispatcher.OperationSelectorBehavior.MethodInfoOperationSelector..ctor(ContractDescription >>> >>>>>>>> description, MessageDirection >>> >>>>>>>> directionThatRequiresClientOpSelection) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.ServiceModel.Dispatcher.OperationSelectorBehavior.System.ServiceModel.Description.IContractBehavior.ApplyClientBehavior(ContractDescription >>> >>>>>>>> description, ServiceEndpoint endpoint, ClientRuntime proxy) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.ServiceModel.Description.DispatcherBuilder.ApplyClientBehavior(ServiceEndpoint >>> >>>>>>>> serviceEndpoint, ClientRuntime clientRuntime) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint >>> >>>>>>>> serviceEndpoint, BindingParameterCollection& parameters) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint >>> >>>>>>>> serviceEndpoint, Boolean useActiveAutoClose) >>> >>>>>>>> at System.ServiceModel.ChannelFactory.CreateFactory() >>> >>>>>>>> at System.ServiceModel.ChannelFactory.OnOpening() >>> >>>>>>>> at >>> >>>>>>>> System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan >>> >>>>>>>> timeout) >>> >>>>>>>> at System.ServiceModel.ChannelFactory.EnsureOpened() >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress >>> >>>>>>>> address, >>> >>>>>>>> Uri via) >>> >>>>>>>> at System.ServiceModel.ChannelFactory`1.CreateChannel() >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.WcfIntegration.WcfClientActivator.<>c__DisplayClass6.<GetChannelCreator>b__1() >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.WcfIntegration.WcfChannelHolder.CreateChannel() >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.WcfIntegration.WcfChannelHolder..ctor(ChannelCreator >>> >>>>>>>> channelCreator, IWcfBurden burden, Nullable`1 closeTimeout) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.WcfIntegration.WcfClientActivator.Instantiate(CreationContext >>> >>>>>>>> context) >>> >>>>>>>> --- End of inner exception stack trace --- >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.WcfIntegration.WcfClientActivator.Instantiate(CreationContext >>> >>>>>>>> context) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext >>> >>>>>>>> context) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext >>> >>>>>>>> context, Burden burden) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext >>> >>>>>>>> context, Boolean trackedExternally) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext >>> >>>>>>>> context, IReleasePolicy releasePolicy) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext >>> >>>>>>>> context, Boolean requiresDecommission, Boolean instanceRequired, >>> >>>>>>>> Burden& >>> >>>>>>>> burden) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext >>> >>>>>>>> context, >>> >>>>>>>> Boolean instanceRequired) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.Handlers.AbstractHandler.Resolve(CreationContext >>> >>>>>>>> context) >>> >>>>>>>> at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler >>> >>>>>>>> handler, Type service, IDictionary additionalArguments, >>> >>>>>>>> IReleasePolicy >>> >>>>>>>> policy) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(String >>> >>>>>>>> key, Type service, IDictionary arguments, IReleasePolicy policy) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.WcfIntegration.WcfClientFactorySelector.<>c__DisplayClass2.<SelectComponent>b__1(IKernelInternal >>> >>>>>>>> k, IReleasePolicy p) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.TypedFactory.Internal.TypedFactoryInterceptor.Resolve(IInvocation >>> >>>>>>>> invocation) >>> >>>>>>>> at >>> >>>>>>>> >>> >>>>>>>> Castle.Facilities.TypedFactory.Internal.TypedFactoryInterceptor.Intercept(IInvocation >>> >>>>>>>> invocation) >>> >>>>>>>> at Castle.DynamicProxy.AbstractInvocation.Proceed() >>> >>>>>>>> at Castle.Proxies.IWcfClientFactoryProxy.GetClient[T](String >>> >>>>>>>> name) >>> >>>>>>>> >>> >>>>>>>> There's obviously some breaking change in ASP.NET 4.6 WCF. I >>> >>>>>>>> already >>> >>>>>>>> tried to debug the Windsor source code, bud wasn't able to >>> >>>>>>>> understand the >>> >>>>>>>> code enough to be able to figure out where the problem is. Did >>> >>>>>>>> anyone faced >>> >>>>>>>> the same problem? Any hints what to try to workaround the >>> >>>>>>>> problem? >>> >>>>>>> >>> >>>>>>> -- >>> >>>>>>> You received this message because you are subscribed to a topic >>> >>>>>>> in >>> >>>>>>> the Google Groups "Castle Project Users" group. >>> >>>>>>> To unsubscribe from this topic, visit >>> >>>>>>> >>> >>>>>>> https://groups.google.com/d/topic/castle-project-users/QIPplgOhPJ0/unsubscribe. >>> >>>>>>> To unsubscribe from this group and all its topics, send an email >>> >>>>>>> to >>> >>>>>>> [email protected]. >>> >>>>>>> To post to this group, send email to >>> >>>>>>> [email protected]. >>> >>>>>>> Visit this group at >>> >>>>>>> http://groups.google.com/group/castle-project-users. >>> >>>>>>> For more options, visit https://groups.google.com/d/optout. >>> >>>>>> >>> >>>>>> >>> > -- >>> > You received this message because you are subscribed to the Google >>> > Groups >>> > "Castle Project Users" group. >>> > To unsubscribe from this group and stop receiving emails from it, send >>> > an >>> > email to [email protected]. >>> > To post to this group, send email to [email protected]. >>> > Visit this group at >>> > http://groups.google.com/group/castle-project-users. >>> > For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> -- >>> Cheers, >>> hammett >>> http://www.d-collab.com/ >>> http://www.hammettblog.com/ >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Castle Project Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to >> [email protected]. >> Visit this group at http://groups.google.com/group/castle-project-users. >> For more options, visit https://groups.google.com/d/optout. > > > > > -- > Jono > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/castle-project-users. > For more options, visit https://groups.google.com/d/optout. -- Cheers, hammett http://www.d-collab.com/ http://www.hammettblog.com/ -- You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/castle-project-users. For more options, visit https://groups.google.com/d/optout.
