На днях столкнулся с тем, что через серверный UI не удается удалить EventHandler на проектном сервере. В итоге решением стало использование CSOM-модели Project Server.
В целом projectCotenxt имеет EventHandler мембер, который требуется инициализировать через Load() -> ExecuteQuery(); затем ищем нужный eventHandler который затем необходимо удалить последовательностью вызовов Remove()->Update()->ExecuteQuery();
var projDeletedEventHandlerId = new Guid("0FB1389D-E620-4062-A99B-9E5716CC958E");
using (var projectContext = new ProjectContext(pwaUrl))
{
var eh = projectContext.EventHandlers.GetByGuid(projDeletedEventHandlerId);
projectContext.EventHandlers.Remove(eh);
projectContext.EventHandlers.Update();
projectContext.ExecuteQuery();
}
Managing Project Server Event Handlers via the Managed Client Object Model