I recently encountered an interesting issue that I thought would be valuable to share and it could quiet easily occur for anyone. I provisioned a Project Server 2013 instance and created many Enterprise Custom fields. One of interest that I created was called Description.
Once the environment was configured I decided I wanted to create a custom list called Opportunities. The purpose of the custom list was that items could be created and then translated to projects once realized.
All went well until I navigated to List Settings > Project Server settings, where I encounter the dreaded something went wrong error. I then reviewed the SharePoint logs to find an interesting error:
Unexpected System.ArgumentException: An item with the same key has already been added. at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.Project.PWA.ApplicationPages.PwaSettings.FillPSFields() at Microsoft.Office.Project.PWA.ApplicationPages.PwaSettings.Initialize() at Microsoft.Office.Project.PWA.ApplicationPages.PwaSettingsPage.Page_Load(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at Microsoft.SharePoint.WebControls.UnsecuredLayoutsPageBase.OnLoad(EventArgs e) at Microsoft.SharePoint.WebControls.LayoutsPageBase.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page…. eab5459c-d46e-500d-abbe-14659fbcc06a
What did this error really mean? It doesn’t really tell me much, other than a conflict of a key. On further investigation I identified the issue:
If you create a project level custom field and use certain terms they can lead to issues with the Odata feed of the project table which in turn seems to cause an error when trying to configure the synced fields in a SharePoint list or create a project from a SharePoint list item. I imagine this issue could also occur for other levels such as task and resource level fields.
Here is a list of common fields that I have found can cause issues:
Project Owner ID
The fix is pretty straightforward identify the field causing the issue. The custom field name is editable – just edit the value to a different value to the reserved word. In my example I had a custom field called Description that was causing an issue, once I updated this to Project Description the issue disappeared and I could create a project server project from the list item.