Error when adding to package: Creating a proxy instance failed.
Umbraco version: 4.7.0
Courier version: 2.5.4.1
After manually installing the courier upgrade from 2 to the listed version( I followed the upgrade document to the letter), I can no longer right-click courier, or add items to a package. Each time, I recieve the error listed at the bottom of the post.
I have played around with some various suggested remedies about .dll signing through googling without success, but I'm not even sure if I'm barking up the right tree. Information regarding this issue and courier seems to be very light. Any suggestions?
NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Unable to obtain public key for StrongNameKeyPair. at System.Reflection.StrongNameKeyPair.ComputePublicKey() at System.Reflection.StrongNameKeyPair.get_PublicKey() at System.Reflection.Emit.AssemblyBuilder..ctor(AppDomain domain, AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource) at System.Reflection.Emit.AssemblyBuilder.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource) at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 assemblyAttributes, SecurityContextSource securityContextSource) at System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access) at Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName) at Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName() at Castle.DynamicProxy.ModuleScope.DefineType(Boolean inSignedModulePreferably, String name, TypeAttributes flags) at Castle.DynamicProxy.Generators.Emitters.ClassEmitter..ctor(ModuleScope modulescope, String name, Type baseType, IEnumerable`1 interfaces, TypeAttributes flags, Boolean forceUnsigned) at Castle.DynamicProxy.Generators.InvocationTypeGenerator.GetEmitter(ClassEmitter class, Type[] interfaces, INamingScope namingScope, MethodInfo methodInfo) at Castle.DynamicProxy.Generators.InvocationTypeGenerator.Generate(ClassEmitter class, ProxyGenerationOptions options, INamingScope namingScope) at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.BuildInvocationType(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options) at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.GetMethodGenerator(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod) at Castle.DynamicProxy.Contributors.CompositeTypeContributor.ImplementMethod(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod) at Castle.DynamicProxy.Contributors.CompositeTypeContributor.Generate(ClassEmitter class, ProxyGenerationOptions options) at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateType(String name, Type[] interfaces, INamingScope namingScope) at Castle.DynamicProxy.Generators.ClassProxyGenerator.<>c__DisplayClass1.b__0(String n, INamingScope s) at Castle.DynamicProxy.Generators.BaseProxyGenerator.ObtainProxyType(CacheKey cacheKey, Func`3 factory) at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode(Type[] interfaces, ProxyGenerationOptions options) at Castle.DynamicProxy.DefaultProxyBuilder.CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options) at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors) at NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session) --- End of inner exception stack trace --- at NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session) at NHibernate.Tuple.Entity.AbstractEntityTuplizer.CreateProxy(Object id, ISessionImplementor session) at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) at NHibernate.Event.Default.DefaultLoadEventListener.CreateProxyIfNecessary(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options, IPersistenceContext persistenceContext) at NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType) at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType) at NHibernate.Impl.SessionImpl.InternalLoad(String entityName, Object id, Boolean eager, Boolean isNullable) at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) at NHibernate.Type.EntityType.ResolveIdentifier(Object value, ISessionImplementor session, Object owner) at NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent, PostLoadEvent postLoadEvent) at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session, Boolean readOnly) at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes) at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results) at NHibernate.Impl.CriteriaImpl.List(IList results) at NHibernate.Impl.CriteriaImpl.List[T]() at Umbraco.Courier.Persistence.V4.NHibernate.Helpers.CmsNodeHelper.GetNode(Guid uniqueId, ISession session) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Persistence.NHibernate\Helpers\CmsNodeHelper.cs:line 69 at Umbraco.Courier.Persistence.V4.NHibernate.Helpers.CmsNodeHelper.GetNodeChildren(Guid uniqueId, Guid nodeObjectType, ISession session) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Persistence.NHibernate\Helpers\CmsNodeHelper.cs:line 136 at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.AvailableItems[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 21 at Umbraco.Courier.Core.ItemCrudProvider.AvailableItems[T](ItemIdentifier itemId) at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 41 at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Unable to obtain public key for StrongNameKeyPair.
System.ArgumentException: Unable to obtain public key for StrongNameKeyPair. at System.Reflection.StrongNameKeyPair.ComputePublicKey() at System.Reflection.StrongNameKeyPair.get_PublicKey() at System.Reflection.Emit.AssemblyBuilder..ctor(AppDomain domain, AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource) at System.Reflection.Emit.AssemblyBuilder.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource) at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 assemblyAttributes, SecurityContextSource securityContextSource) at System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access) at Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName) at Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName() at Castle.DynamicProxy.ModuleScope.DefineType(Boolean inSignedModulePreferably, String name, TypeAttributes flags) at Castle.DynamicProxy.Generators.Emitters.ClassEmitter..ctor(ModuleScope modulescope, String name, Type baseType, IEnumerable`1 interfaces, TypeAttributes flags, Boolean forceUnsigned) at Castle.DynamicProxy.Generators.InvocationTypeGenerator.GetEmitter(ClassEmitter class, Type[] interfaces, INamingScope namingScope, MethodInfo methodInfo) at Castle.DynamicProxy.Generators.InvocationTypeGenerator.Generate(ClassEmitter class, ProxyGenerationOptions options, INamingScope namingScope) at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.BuildInvocationType(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options) at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.GetMethodGenerator(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod) at Castle.DynamicProxy.Contributors.CompositeTypeContributor.ImplementMethod(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod) at Castle.DynamicProxy.Contributors.CompositeTypeContributor.Generate(ClassEmitter class, ProxyGenerationOptions options) at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateType(String name, Type[] interfaces, INamingScope namingScope) at Castle.DynamicProxy.Generators.ClassProxyGenerator.<>c__DisplayClass1.b__0(String n, INamingScope s) at Castle.DynamicProxy.Generators.BaseProxyGenerator.ObtainProxyType(CacheKey cacheKey, Func`3 factory) at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode(Type[] interfaces, ProxyGenerationOptions options) at Castle.DynamicProxy.DefaultProxyBuilder.CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options) at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors) at NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session)
After doing some more research I realized that there are 2 distinct versions of the Castle.Core.dll that are being used: The latest version of Courier uses version 2.5.2.0, but previously in the folder, we had version 1.1.0.0. I noticed that a seperate XSLT parse error that was popping up has dissappeared since we reverted back to the previous version of this .dll.
At this point, I am thinking that one of our other packages is causing this conflict. Versions of everything running are as follows:
Umbraco 4.7.0
Ublogsy 1.3.6.1
Contour 1.1.9
Desktop Media Uploader 2.0.5
Config Tree 2.0
My next step will be to will through the installation packages for each of those until I can find either the dependancy on the old version of castle.core.dll or another hint. In the mean time, if anyone has any ideas, I'm open to suggestion.
You didn't have a older version of Courier installed earlier? an older version of courier used a older nhibernate version which screwed up Castle dependencies, if you didn't remove all the old versions dependencies
We did initially have a previous version of courier installed. After initially running into issues, I completely (as far as I can tell) removed the old installation, DB tables included. There were no versions of nhibernate or castle left in the bin folder after the uninstall, and none of our other add ons utilize those dlls. Our Umbraco installation was running just fine in this state. After I reinstalled the latest version of courier through the developer tab on umbraco (after the removal of the old install) I run into a slightly different, but very similar error on a right-click courier:
error:Umbraco.Courier.Core.Exceptions.PackageException: Unable to load item with id 'uBlogsy' from provider 'Stylesheets' ---> Umbraco.Courier.Core.Exceptions.RetrieveException: Error retrieving item [uBlogsy] from provider [e0472596-e73b-11df-9492-0800200c9a66]. ---> NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Unable to obtain public key for StrongNameKeyPair. at System.Reflection.StrongNameKeyPair.ComputePublicKey() at System.Reflection.StrongNameKeyPair.get_PublicKey() at ...
It continues, but I have cut short for brevity. When trying to add an item to a package, I get the same error as in the original post.
Is there anything special I should be doing to remove dependencies, other than removing the .dlls? Other than restarting IIS between uninstalls and installs, that's pretty much all i've done.
Hmm nope, that really should do it, from the error I would say its a dll issue, could you post the list of dlls in your /bin ? to see if we can spot anything out of the ordinary
Sorry about the extrememly delayed response, I had been pulled onto another project here at work.
I seem to have worked through the initial issue of the proxy error. What finally resolved that in the end was a clearing of the ...App_Data\courier\revisions folder, which was chock full of over a gig of old pushes. I am honestly not sure why this seemed to resolve the error.
This however, has cleared the way for another 2 errors, which I hope are little more straightforward:
On attempt to transfer a package, I get a directory not found exception (seems to be looking in the wrong place). I am running courier 2.5.4.1 on QA, and 2.1 on staging (the target location), and I'm assuming that's the source of this error.
On right click courier, I am recieving a slightly more obtuse (to me anyways) error message: First, it creates a 'null' package, and then fails to extract the 'null' package to the target, even though the package lists the file correctly (it is a cshtml file). Again, this is from 2.5.4.1 to 2.1.
Will upgrading my target server to 2.5.4.1 resolve these, or do you have any other suggestions?
Error from package transfer:
Recently processed Recently processed tasks
Transfer
Transfering testingrevisionsSystem.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\Data\wwwroot\umbuat-a.sparkenergy.com\app_data\courier\revisions\testingrevisions\MacroScripts\PromoForm123.cshtml'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.IO.File.WriteAllBytes(String path, Byte[] bytes) at Umbraco.Courier.Core.Storage.RevisionStorage.SaveResourceItem(ResourceItem item, String directory) at Umbraco.Courier.RepositoryProviders.Webservices.Repository.CommitResourceitem(String revision, ResourceItem resourceItem, String username, String password) in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.RepositoryProviders\Webservices\Repository.asmx.cs:line 79 --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.CommitResourceitem(String revision, ResourceItem resourceItem, String username, String password) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\webservice.cs:line 322 at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.CommitRevision(Revision revision) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\CourierWebserviceRepositoryProvider.cs:line 75 at Umbraco.Courier.Core.Transfer.RevisionTransfer.Transfer() at Umbraco.Courier.Core.Tasks.TransferTask.Run() at Umbraco.Courier.Core.TaskManager.(IRevisionTask value) 2/22/2012 9:54:44 AM
Error from right click courier:
'Extracting null' was not completed, as it returned an error
Close this window
Recently processed tasks
Extraction
Extracting nullSystem.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://courier.umbraco.org/GetResourceHash. at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.GetResourceHash(String sessionKey, Resource resource, String user, String pass) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\webservice.cs:line 1523 at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.Hash(Resource resource) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\CourierWebserviceRepositoryProvider.cs:line 604 at Umbraco.Courier.Core.Extraction.RevisionExtraction.?(Item item, Boolean isDependency, ResourceExtractionOrder order) at Umbraco.Courier.Core.Extraction.RevisionExtraction.?() at Umbraco.Courier.Core.Extraction.RevisionExtraction.Extract() at Umbraco.Courier.Core.Tasks.ExtractionTask.Run() at Umbraco.Courier.Core.TaskManager.(IRevisionTask value) 2/22/2012 9:39:56 AM
Packaging
Packaging null and its childrenCompleted on: 2/22/2012 9:39:50 AM
Not sure if you got this resolved, but I ran into this issue today on my local development environment .
The problem was that my umbraco application was using the default app pool account. My guess is that it that courier requires file access beyond what the default app pool was able to give. Just as a quick test, i set the app pool account to my admin account and i was able to bypass this problem.
Error when adding to package: Creating a proxy instance failed.
Umbraco version: 4.7.0
Courier version: 2.5.4.1
After manually installing the courier upgrade from 2 to the listed version( I followed the upgrade document to the letter), I can no longer right-click courier, or add items to a package. Each time, I recieve the error listed at the bottom of the post.
I have played around with some various suggested remedies about .dll signing through googling without success, but I'm not even sure if I'm barking up the right tree. Information regarding this issue and courier seems to be very light. Any suggestions?
NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Unable to obtain public key for StrongNameKeyPair.
at System.Reflection.StrongNameKeyPair.ComputePublicKey()
at System.Reflection.StrongNameKeyPair.get_PublicKey()
at System.Reflection.Emit.AssemblyBuilder..ctor(AppDomain domain, AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource)
at System.Reflection.Emit.AssemblyBuilder.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource)
at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 assemblyAttributes, SecurityContextSource securityContextSource)
at System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access)
at Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName)
at Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName()
at Castle.DynamicProxy.ModuleScope.DefineType(Boolean inSignedModulePreferably, String name, TypeAttributes flags)
at Castle.DynamicProxy.Generators.Emitters.ClassEmitter..ctor(ModuleScope modulescope, String name, Type baseType, IEnumerable`1 interfaces, TypeAttributes flags, Boolean forceUnsigned)
at Castle.DynamicProxy.Generators.InvocationTypeGenerator.GetEmitter(ClassEmitter class, Type[] interfaces, INamingScope namingScope, MethodInfo methodInfo)
at Castle.DynamicProxy.Generators.InvocationTypeGenerator.Generate(ClassEmitter class, ProxyGenerationOptions options, INamingScope namingScope)
at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.BuildInvocationType(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options)
at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.GetMethodGenerator(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod)
at Castle.DynamicProxy.Contributors.CompositeTypeContributor.ImplementMethod(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod)
at Castle.DynamicProxy.Contributors.CompositeTypeContributor.Generate(ClassEmitter class, ProxyGenerationOptions options)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateType(String name, Type[] interfaces, INamingScope namingScope)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.<>c__DisplayClass1.b__0(String n, INamingScope s)
at Castle.DynamicProxy.Generators.BaseProxyGenerator.ObtainProxyType(CacheKey cacheKey, Func`3 factory)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode(Type[] interfaces, ProxyGenerationOptions options)
at Castle.DynamicProxy.DefaultProxyBuilder.CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors)
at NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session)
--- End of inner exception stack trace ---
at NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session)
at NHibernate.Tuple.Entity.AbstractEntityTuplizer.CreateProxy(Object id, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session)
at NHibernate.Event.Default.DefaultLoadEventListener.CreateProxyIfNecessary(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options, IPersistenceContext persistenceContext)
at NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.InternalLoad(String entityName, Object id, Boolean eager, Boolean isNullable)
at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session)
at NHibernate.Type.EntityType.ResolveIdentifier(Object value, ISessionImplementor session, Object owner)
at NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent, PostLoadEvent postLoadEvent)
at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session, Boolean readOnly)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
at NHibernate.Impl.CriteriaImpl.List(IList results)
at NHibernate.Impl.CriteriaImpl.List[T]()
at Umbraco.Courier.Persistence.V4.NHibernate.Helpers.CmsNodeHelper.GetNode(Guid uniqueId, ISession session) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Persistence.NHibernate\Helpers\CmsNodeHelper.cs:line 69
at Umbraco.Courier.Persistence.V4.NHibernate.Helpers.CmsNodeHelper.GetNodeChildren(Guid uniqueId, Guid nodeObjectType, ISession session) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Persistence.NHibernate\Helpers\CmsNodeHelper.cs:line 136
at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.AvailableItems[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 21
at Umbraco.Courier.Core.ItemCrudProvider.AvailableItems[T](ItemIdentifier itemId)
at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 41
at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Unable to obtain public key for StrongNameKeyPair.
System.ArgumentException: Unable to obtain public key for StrongNameKeyPair.
at System.Reflection.StrongNameKeyPair.ComputePublicKey()
at System.Reflection.StrongNameKeyPair.get_PublicKey()
at System.Reflection.Emit.AssemblyBuilder..ctor(AppDomain domain, AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource)
at System.Reflection.Emit.AssemblyBuilder.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource)
at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 assemblyAttributes, SecurityContextSource securityContextSource)
at System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access)
at Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName)
at Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName()
at Castle.DynamicProxy.ModuleScope.DefineType(Boolean inSignedModulePreferably, String name, TypeAttributes flags)
at Castle.DynamicProxy.Generators.Emitters.ClassEmitter..ctor(ModuleScope modulescope, String name, Type baseType, IEnumerable`1 interfaces, TypeAttributes flags, Boolean forceUnsigned)
at Castle.DynamicProxy.Generators.InvocationTypeGenerator.GetEmitter(ClassEmitter class, Type[] interfaces, INamingScope namingScope, MethodInfo methodInfo)
at Castle.DynamicProxy.Generators.InvocationTypeGenerator.Generate(ClassEmitter class, ProxyGenerationOptions options, INamingScope namingScope)
at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.BuildInvocationType(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options)
at Castle.DynamicProxy.Contributors.ClassProxyTargetContributor.GetMethodGenerator(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod)
at Castle.DynamicProxy.Contributors.CompositeTypeContributor.ImplementMethod(MetaMethod method, ClassEmitter class, ProxyGenerationOptions options, OverrideMethodDelegate overrideMethod)
at Castle.DynamicProxy.Contributors.CompositeTypeContributor.Generate(ClassEmitter class, ProxyGenerationOptions options)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateType(String name, Type[] interfaces, INamingScope namingScope)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.<>c__DisplayClass1.b__0(String n, INamingScope s)
at Castle.DynamicProxy.Generators.BaseProxyGenerator.ObtainProxyType(CacheKey cacheKey, Func`3 factory)
at Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode(Type[] interfaces, ProxyGenerationOptions options)
at Castle.DynamicProxy.DefaultProxyBuilder.CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors)
at NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session)
After doing some more research I realized that there are 2 distinct versions of the Castle.Core.dll that are being used: The latest version of Courier uses version 2.5.2.0, but previously in the folder, we had version 1.1.0.0. I noticed that a seperate XSLT parse error that was popping up has dissappeared since we reverted back to the previous version of this .dll.
At this point, I am thinking that one of our other packages is causing this conflict. Versions of everything running are as follows:
Umbraco 4.7.0
Ublogsy 1.3.6.1
Contour 1.1.9
Desktop Media Uploader 2.0.5
Config Tree 2.0
My next step will be to will through the installation packages for each of those until I can find either the dependancy on the old version of castle.core.dll or another hint. In the mean time, if anyone has any ideas, I'm open to suggestion.
Danny
You didn't have a older version of Courier installed earlier? an older version of courier used a older nhibernate version which screwed up Castle dependencies, if you didn't remove all the old versions dependencies
/Per
We did initially have a previous version of courier installed. After initially running into issues, I completely (as far as I can tell) removed the old installation, DB tables included. There were no versions of nhibernate or castle left in the bin folder after the uninstall, and none of our other add ons utilize those dlls. Our Umbraco installation was running just fine in this state. After I reinstalled the latest version of courier through the developer tab on umbraco (after the removal of the old install) I run into a slightly different, but very similar error on a right-click courier:
error:Umbraco.Courier.Core.Exceptions.PackageException: Unable to load item with id 'uBlogsy' from provider 'Stylesheets' ---> Umbraco.Courier.Core.Exceptions.RetrieveException: Error retrieving item [uBlogsy] from provider [e0472596-e73b-11df-9492-0800200c9a66]. ---> NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Unable to obtain public key for StrongNameKeyPair. at System.Reflection.StrongNameKeyPair.ComputePublicKey() at System.Reflection.StrongNameKeyPair.get_PublicKey() at ...
It continues, but I have cut short for brevity. When trying to add an item to a package, I get the same error as in the original post.
Is there anything special I should be doing to remove dependencies, other than removing the .dlls? Other than restarting IIS between uninstalls and installs, that's pretty much all i've done.
Hmm nope, that really should do it, from the error I would say its a dll issue, could you post the list of dlls in your /bin ? to see if we can spot anything out of the ordinary
Per,
Sorry about the extrememly delayed response, I had been pulled onto another project here at work.
I seem to have worked through the initial issue of the proxy error. What finally resolved that in the end was a clearing of the ...App_Data\courier\revisions folder, which was chock full of over a gig of old pushes. I am honestly not sure why this seemed to resolve the error.
This however, has cleared the way for another 2 errors, which I hope are little more straightforward:
On attempt to transfer a package, I get a directory not found exception (seems to be looking in the wrong place). I am running courier 2.5.4.1 on QA, and 2.1 on staging (the target location), and I'm assuming that's the source of this error.
On right click courier, I am recieving a slightly more obtuse (to me anyways) error message: First, it creates a 'null' package, and then fails to extract the 'null' package to the target, even though the package lists the file correctly (it is a cshtml file). Again, this is from 2.5.4.1 to 2.1.
Will upgrading my target server to 2.5.4.1 resolve these, or do you have any other suggestions?
Error from package transfer:
Recently processed Recently processed tasks
Transfer
Transfering testingrevisionsSystem.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\Data\wwwroot\umbuat-a.sparkenergy.com\app_data\courier\revisions\testingrevisions\MacroScripts\PromoForm123.cshtml'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.IO.File.WriteAllBytes(String path, Byte[] bytes) at Umbraco.Courier.Core.Storage.RevisionStorage.SaveResourceItem(ResourceItem item, String directory) at Umbraco.Courier.RepositoryProviders.Webservices.Repository.CommitResourceitem(String revision, ResourceItem resourceItem, String username, String password) in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.RepositoryProviders\Webservices\Repository.asmx.cs:line 79 --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.CommitResourceitem(String revision, ResourceItem resourceItem, String username, String password) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\webservice.cs:line 322 at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.CommitRevision(Revision revision) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\CourierWebserviceRepositoryProvider.cs:line 75 at Umbraco.Courier.Core.Transfer.RevisionTransfer.Transfer() at Umbraco.Courier.Core.Tasks.TransferTask.Run() at Umbraco.Courier.Core.TaskManager.(IRevisionTask value) 2/22/2012 9:54:44 AM
Error from right click courier:
'Extracting null' was not completed, as it returned an error
Close this window
Recently processed tasks
Extraction
Extracting nullSystem.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://courier.umbraco.org/GetResourceHash. at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.GetResourceHash(String sessionKey, Resource resource, String user, String pass) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\webservice.cs:line 1523 at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.Hash(Resource resource) in c:\Program Files (x86)\teamcity\buildAgent\work\d94035a1177dda67\Umbraco.Courier.RepositoryProviders\WebserviceProvider\CourierWebserviceRepositoryProvider.cs:line 604 at Umbraco.Courier.Core.Extraction.RevisionExtraction.?(Item item, Boolean isDependency, ResourceExtractionOrder order) at Umbraco.Courier.Core.Extraction.RevisionExtraction.?() at Umbraco.Courier.Core.Extraction.RevisionExtraction.Extract() at Umbraco.Courier.Core.Tasks.ExtractionTask.Run() at Umbraco.Courier.Core.TaskManager.(IRevisionTask value) 2/22/2012 9:39:56 AM
Packaging
Packaging null and its childrenCompleted on: 2/22/2012 9:39:50 AM
Hi Daniel,
Not sure if you got this resolved, but I ran into this issue today on my local development environment .
The problem was that my umbraco application was using the default app pool account. My guess is that it that courier requires file access beyond what the default app pool was able to give. Just as a quick test, i set the app pool account to my admin account and i was able to bypass this problem.
Hope this helps.
-Isaac
is working on a reply...