Virtual Happy Hour this month, Jun 28, we'll be getting a sneak preview at our soon to launch SaaS CMS!

Try our conversational search powered by Generative AI!

Episerver forms error



Here is a code I copied to override Form Submiting. However when I compile my project, I get a "Error112The type or namespace name 'Forms' does not exist in the namespace 'EPiServer' (are you missing an assembly reference?)

I have installed Episerver Forms by nuget, and I checked my References and Episerver.Forms,  Episerver.Forms.Core and Episerver.Forms.UI are all there.

using System;
using System.Linq;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.ServiceLocation;
using EPiServer.Forms.Core.Events;
using EPiServer.Logging;
using EPiServer.Core;
using EPiServer.Forms.Core.Models;
using EPiServer;
using EPiServer.Forms.Core;

namespace AlloyDemoKit.Business.Forms
public class FormEventsInitialization : IInitializableModule
private static readonly ILogger _logger = LogManager.GetLogger();

public void Initialize(InitializationEngine context)
var formsEvents = ServiceLocator.Current.GetInstance();
formsEvents.FormsSubmissionFinalized += FormsEvents_FormsSubmissionFinalized;

private void FormsEvents_FormsSubmissionFinalized(object sender, FormsEventArgs e)
if (!string.IsNullOrEmpty(e.FormsContent.Name))
var loader = ServiceLocator.Current.GetInstance();
FormsSubmittedEventArgs submitArgs = e as FormsSubmittedEventArgs;
string msg = string.Format("Form {0} completed at {1}\tSubmission id: {2}",

var formElements = submitArgs.FormsContent.Property["ElementsArea"].Value as ContentArea;

foreach (var item in submitArgs.SubmissionData.Data)
if (item.Key.StartsWith("SYSTEM"))
_logger.Information(item.Key + ": " + item.Value);
int id = Convert.ToInt32(item.Key.Substring(item.Key.LastIndexOf("_") + 1));
var elementId = formElements.Items.Where(i => i.ContentLink.ID == id).FirstOrDefault();
ElementBlockBase element = loader.Get(elementId.ContentLink) as ElementBlockBase;
string friendlyName = element != null ? element.GetElementInfo().FriendlyName : item.Key;
_logger.Information(friendlyName + ": " + item.Value);


public void Preload(string[] parameters) { }

public void Uninitialize(InitializationEngine context)
var formsEvents = ServiceLocator.Current.GetInstance();
formsEvents.FormsSubmissionFinalized -= FormsEvents_FormsSubmissionFinalized; ;


Aug 08, 2016 10:18

found the solution, need to install at least .net 4.5.2 framework. didn't see this solution anywhere else or as a system requirment when installing episerver forms... :(

Edited, Aug 08, 2016 14:26

I also had this issue, but changing to .NEt 4.5.2 did the trick! 

Aug 30, 2016 11:20
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.