When the DLLs are merged those types get excluded from being internalized. I couldn't find the set up in either NMock3's or Moq's repo, but RhinoMocks has the ILMerge exclude file checked in: https://github.com/ayende/rhino-mocks/blob/master/ilmerge.exclude
On Mon, Feb 14, 2011 at 7:27 AM, Cygon <[email protected]> wrote: > Hi! > > I'm trying to compile NMock3, a mock object framework that uses > Castle.DynamicProxy. The existing builds use a tool called ILMerge to > merge Castle.Core.dll as internal classes into the NMock3 assembly. > > I tried to achieve the same effect by including the Castle.Core > sources in the project and changing the access modifiers of all public > Castle classes to internal. > > It works as long as I don't change the access modifiers of 7 classes > (AbstractInvocation, CompositionInvocation, IInterceptor, > IInterceptorSelector, IInvocation, InheritanceInvocation, > IProxyTargetAccessor). As soon as I change those to internal, I get > various TypeLoadExceptions in AbstractTypeEmitter.CreateType(). > > - > > My best bet is that those types are implemented in the > DynamicProxyGenAssembly and that its InternalsVisibleToAttribute is > not resolving anymore. But why then does it work with ILMerge (where > the Castle.Core classes also end up in a different assembly)? > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Development List" group. > To post to this group, send email to [email protected] > . > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/castle-project-devel?hl=en. > > -- Jono -- You received this message because you are subscribed to the Google Groups "Castle Project Development List" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.
