I have installed Courier on my local and www site.
I also purchased a licence at the same time from Umbraco.com, downloaded the licence and put it in the bin folder of my local dev site and www site.
I have left the repository config at default settings as both locations have the same admin user account username / password.
I am getting the error below.
error:System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.RepositoryProviders.Local.OpenSession(String key) at Umbraco.Courier.Core.Packaging.RevisionPackaging.openSessions() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 27/03/2013 21:11:32
I am running Umbraco 6.02
When I go to installed packages is says Package Version is:
Umbraco Courier for Umbraco 6
Where can I find the exact version no. of Courier that is installed.
In package options it says 'No upgrades available'.
My local site is hosted on Vista Business with Web Matrix and IIS Express.
My www site is hosted on Windows Server 2003 SP2 with IIS 6.
I just reported the same error with verison 6.0.0 of Umbraco and version 2.7.5.1.90.v6 of Courier which up to yesterday was the latest build for verison 6.
I have installed Umbraco Courier on a fresh copy of Umbraco and I am getting same error.
-Umbraco V6.
-Courier version 2.7.5.1.90.v6 (Plus Courier_2.7.5.1.90.hotfix.v6) and umbracoCourierExpress.lic is in /bin folder.
- Host on Windows Server 2008 R2 with IIS 7.
Logged error:
9/04/2013 11:17:14 AM; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider': Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
9/04/2013 11:18:15 AM; System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(ItemIdentifier itemId, Boolean includeChildren, Int32 maxDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(List`1 items, Int32 maximumDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest) at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value)
>>There is an updated build here nightly.umbraco.org/.../ The issue is with a too restricive check on methods and the Courier Express license with 6.* and Courier 2.7.5.*
I installed this update and the problem persists.
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Umbraco.Courier.ItemProviders.DataTypeProvider.AvailableSystemItems()
at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID)
at Umbraco.Courier.RepositoryProviders.Local.GetRootItems(Guid providerID)
at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest)
at Umbraco.Courier.Core.Tasks.PackagingTask.Run()
at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value)
17/04/2013 11:50:46 AM
The error you posted does not look to be related to the license issue, but is something else. Can you provide additional details here on how you have Courier setup, versions, and repro steps here or via the Courier support area on umbraco.com.
We are using Umbarco 6.0.3 with the latest courier version Courier_2.7.5.2.91.v6 as suggested.
Some of the posts avbove suggest a need to contact the help desk to get the licence updated. Is this still necessary following the latest release? Thanks.
I have been through the process of a fresh install and downloaded the licence when prompted by the installation process. I have also tried downloading the licence manually and copying it into the bin folder.
I am still seeing this error when I click on deploy in the courier menu
[KeyNotFoundException: The given key was not present in the dictionary.]
System.Collections.Generic.Dictionary`2.get_Item(TKey key) +4307327
Umbraco.Courier.ItemProviders.DataTypeProvider.AvailableSystemItems() +131
Umbraco.Courier.UI.Pages.SimpleRevisionDeploy.b__0(ItemProvider p) +23
System.Linq.WhereListIterator`1.MoveNext() +165
System.Web.UI.WebControls.ListControl.PerformDataBinding(IEnumerable dataSource) +776
System.Web.UI.WebControls.ListControl.PerformSelect() +51
Umbraco.Courier.UI.Pages.SimpleRevisionDeploy.Page_Load(Object sender, EventArgs e) +287
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.UI.Control.LoadRecursive() +71
and the courier logs show...
17/04/2013 4:45:26 PM; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider' id: e0474ca8-e73b-11df-9492-0800200c9a66: Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
Are you 100% sure you overwrote the umbraco.courier.core.dll? as this error should not happen at this point.
I've updated the build, and changed the error message slightly so we can tell if its running off the right build, available here (the ones at the bottom are the latest build)
Here is an interesting problem that I'm having now.
Everything seems to work on localhost. If I deploy directly from VS2012 to my dev and qa servers, it also works perfectly (transfered files and all).
If I checkin files into TFS, and then have Jenkins do a build and deploy....I continue to get the 'The type initializer for 'Nested' threw an exception' error. So my first thought was maybe the dll's and files weren't updated properly. So I removed them from TFS, made sure they were deleted in Jenkins. THen I readed them. Still nothing. I wiped out the Dev server, and redeployed from Jenkins. Still nothing. I restarted IIS, nothing.
The files that I removed were the the /dll's and the umbraco/plugin/courier folder.
Is this still related to a Courier error? With your deployment process it's hard to tell where the error actually is, but you could use the files in the "hotfix" package to verify you have all the dependencies needed:
So from what I could tell, the versionso of the umbraco.licensing.dll were different (at least there sizes were). So I readded the new version and now it's working.
Great...so the licensing dll in the latest build (2.7.5.2.*) was differenent than the one in 2.7.5.1.*? Sorry if so, we'll address. If not that, was it just an older licensing dll in your solution?
Not sure where the older dll came from. Just know that I had 2 dll's of differing sizes. Do other packages install the dll? For instance, SeoChecker? Is it possible that different pay packages have different versions of the dll?
If so, shouldn't the licensing dll just be a part of umbraco since various outside parties use it?
I have uninstalled the courier package and then installed the newer 2.75.2.94 package from the nightly builds list and this seems to have cured the initial 'Key not present' error.
However I now get the following error when I right click an item to transfer it to my live environment:
Error during packaging:
error:System.ArgumentNullException: Value cannot be null. Parameter name: The string which needs to be encrypted can not be null. at Umbraco.Courier.Core.Helpers.Encryption.Encrypt(String originalString) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.getloginAndPass(Int32 userId, String& login, String& pass) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.OpenSession(String sessionKey) at Umbraco.Courier.Core.Packaging.RevisionPackaging.openSessions() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 19/04/2013 13:40:04
My locatoin in the courier.config file looks like this:
error:System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 41 at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Contrib\Providers\Umbraco.Courier.RepositoryProviders\Local\Local.cs:line 278 at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(ItemIdentifier itemId, Boolean includeChildren, Int32 maxDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(List`1 items, Int32 maximumDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest) at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.#Lb(IRevisionTask value) 14/05/2013 11:01:00 AM
This is what courier is giving me. STarted happening ou tof the blue.
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> The given key was not present in the dictionary. 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.CourierWebserviceRepositoryProvider.OpenSession(String sessionKey) at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 10/29/2013 12:27:10 PM
Umbraco 6.02 + Courier for Umbraco 6 - the given key was not present in the dictionary.
Hi,
I installed the Umbraco Courier for Umbraco 6 today by using the following route:
Developer > Packages > Umbraco Package Repository > Umbraco PRO > Courier 2 > Install Package
I have installed Courier on my local and www site.
I also purchased a licence at the same time from Umbraco.com, downloaded the licence and put it in the bin folder of my local dev site and www site.
I have left the repository config at default settings as both locations have the same admin user account username / password.
I am getting the error below.
error:System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.RepositoryProviders.Local.OpenSession(String key) at Umbraco.Courier.Core.Packaging.RevisionPackaging.openSessions() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 27/03/2013 21:11:32
I am running Umbraco 6.02
When I go to installed packages is says Package Version is:
Umbraco Courier for Umbraco 6
Where can I find the exact version no. of Courier that is installed.
In package options it says 'No upgrades available'.
My local site is hosted on Vista Business with Web Matrix and IIS Express.
My www site is hosted on Windows Server 2003 SP2 with IIS 6.
cheers,
Hi,
can anyone shed any light on this?
cheers,
I just reported the same error with verison 6.0.0 of Umbraco and version 2.7.5.1.90.v6 of Courier which up to yesterday was the latest build for verison 6.
You can see my post at..
http://our.umbraco.org/forum/umbraco-pro/courier/39854-Courier-KeyNotFoundException
Consider your post, bumped. ;)
Hi,
I have installed Umbraco Courier on a fresh copy of Umbraco and I am getting same error.
- Umbraco V6.
- Courier version 2.7.5.1.90.v6 (Plus Courier_2.7.5.1.90.hotfix.v6) and umbracoCourierExpress.lic is in /bin folder.
- Host on Windows Server 2008 R2 with IIS 7.
Logged error:
9/04/2013 11:17:14 AM; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider': Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
9/04/2013 11:18:15 AM; System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(ItemIdentifier itemId, Boolean includeChildren, Int32 maxDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(List`1 items, Int32 maximumDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest) at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value)
cheers,
I have similar problems with my Courier. Any comment from the Umbraco Courier Team would be nice :-)
I also have the same issue. Any suggestions would be great. Thanks.
I'm also experiencing similar issues. Has anyone heard anything about this yet?
I've just bought a courier key and am getting the same error. Looks like it has been weeks now with no reply :-)
one of the other threads says that this could be an issue with umbraco courier express licenses.
-C
@Patrik -
There is an updated build here http://nightly.umbraco.org/UmbracoCourier/2.7.5.2/nightly%20builds/ The issue is with a too restricive check on methods and the Courier Express license with 6.* and Courier 2.7.5.*
-Paul
Thanks for your input. I put a support request in with UMBRACO and they have re-issued the licence for me so it is all working now.
My issue was resolved. I had to do a clean publish for the changes to take affect.
-C
@Paul
>>There is an updated build here nightly.umbraco.org/.../ The issue is with a too restricive check on methods and the Courier Express license with 6.* and Courier 2.7.5.*
I installed this update and the problem persists.
I have also installed the update and am getting the same issue. Do I need a new license file too?
@Brad @William -
The error you posted does not look to be related to the license issue, but is something else. Can you provide additional details here on how you have Courier setup, versions, and repro steps here or via the Courier support area on umbraco.com.
-Paul
Paul, thanks for your help so far.
I am experiencing a similar issue as described in the post below.
http://our.umbraco.org/forum/umbraco-pro/courier/39432-Courier-25-Express-fails
We are using Umbarco 6.0.3 with the latest courier version Courier_2.7.5.2.91.v6 as suggested.
Some of the posts avbove suggest a need to contact the help desk to get the licence updated. Is this still necessary following the latest release? Thanks.
I have been through the process of a fresh install and downloaded the licence when prompted by the installation process. I have also tried downloading the licence manually and copying it into the bin folder.
I am still seeing this error when I click on deploy in the courier menu
and the courier logs show...
17/04/2013 4:45:26 PM; Can't import provider 'Umbraco.Courier.Persistence.V6.NHibernate.NHibernateProvider' id: e0474ca8-e73b-11df-9492-0800200c9a66: Umbraco.Licensing.Exceptions.InvalidLicenseException: The DLL: Umbraco.Courier.Persistence.V6.NHibernate cannot call Courier APIs as you do not have the right licensing in place
at Umbraco.Courier.Core.ProviderCollection`1.registerProviders(IEnumerable`1 types)
Hi William
Are you 100% sure you overwrote the umbraco.courier.core.dll? as this error should not happen at this point.
I've updated the build, and changed the error message slightly so we can tell if its running off the right build, available here (the ones at the bottom are the latest build)
http://nightly.umbraco.org/UmbracoCourier/2.7.5.2/nightly%20builds/
Hi Per,
Thank you for creating the new package. I have just installed Courier_2.7.5.2.92.v6 and can now deploy successfully.
Here is an interesting problem that I'm having now.
Everything seems to work on localhost. If I deploy directly from VS2012 to my dev and qa servers, it also works perfectly (transfered files and all).
If I checkin files into TFS, and then have Jenkins do a build and deploy....I continue to get the 'The type initializer for 'Nested' threw an exception' error. So my first thought was maybe the dll's and files weren't updated properly. So I removed them from TFS, made sure they were deleted in Jenkins. THen I readed them. Still nothing. I wiped out the Dev server, and redeployed from Jenkins. Still nothing. I restarted IIS, nothing.
The files that I removed were the the /dll's and the umbraco/plugin/courier folder.
Any other ideas? I'm at a loss...
-C
Chad -
Is this still related to a Courier error? With your deployment process it's hard to tell where the error actually is, but you could use the files in the "hotfix" package to verify you have all the dependencies needed:
http://nightly.umbraco.org/UmbracoCourier/2.7.5.2/nightly%20builds/
-Paul
So from what I could tell, the versionso of the umbraco.licensing.dll were different (at least there sizes were). So I readded the new version and now it's working.
-C
Chad -
Great...so the licensing dll in the latest build (2.7.5.2.*) was differenent than the one in 2.7.5.1.*? Sorry if so, we'll address. If not that, was it just an older licensing dll in your solution?
-Paul
Not sure where the older dll came from. Just know that I had 2 dll's of differing sizes. Do other packages install the dll? For instance, SeoChecker? Is it possible that different pay packages have different versions of the dll?
If so, shouldn't the licensing dll just be a part of umbraco since various outside parties use it?
Hi,
I have uninstalled the courier package and then installed the newer 2.75.2.94 package from the nightly builds list and this seems to have cured the initial 'Key not present' error.
However I now get the following error when I right click an item to transfer it to my live environment:
Error during packaging:
error:System.ArgumentNullException: Value cannot be null. Parameter name: The string which needs to be encrypted can not be null. at Umbraco.Courier.Core.Helpers.Encryption.Encrypt(String originalString) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.getloginAndPass(Int32 userId, String& login, String& pass) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.OpenSession(String sessionKey) at Umbraco.Courier.Core.Packaging.RevisionPackaging.openSessions() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 19/04/2013 13:40:04
My locatoin in the courier.config file looks like this:
error:System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Umbraco.Courier.Core.PersistenceManager.get_Default() at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence() at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems(ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 41 at Umbraco.Courier.RepositoryProviders.Local.GetChildren(ItemIdentifier itemID) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Contrib\Providers\Umbraco.Courier.RepositoryProviders\Local\Local.cs:line 278 at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(ItemIdentifier itemId, Boolean includeChildren, Int32 maxDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(List`1 items, Int32 maximumDependencyLevel) at Umbraco.Courier.Core.Packaging.RevisionPackaging.AddToQueue(RevisionManifest manifest) at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.#Lb(IRevisionTask value) 14/05/2013 11:01:00 AM
Please help how remove this error?????????
This is what courier is giving me. STarted happening ou tof the blue.
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> The given key was not present in the dictionary. 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.CourierWebserviceRepositoryProvider.OpenSession(String sessionKey) at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 10/29/2013 12:27:10 PM
is working on a reply...