Exception: ‘Compiler executable file csc.exe cannot be found’ is displayed when saving templates

Scenario:

This article relates to any Exclaimer signature product.


The exception below is thrown when saving a signature template:


System.InvalidOperationException:
Compiler executable file csc.exe cannot be found.
at
System.CodeDom.Compiler.RedistVersionInfo.GetCompilerPath(IDictionary`2
provOptions, String compilerExecutable)
at
Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options,
String[] fileNames)
at
Microsoft.CSharp.CSharpCodeGenerator.FromDomBatch(CompilerParameters options,
CodeCompileUnit[] ea)
at
Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromDomBatch(CompilerParameters
options, CodeCompileUnit[] ea)
at
System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromDom(CompilerParameters
options, CodeCompileUnit[] compilationUnits)
at
Exclaimer.Data.Templates.TemplateCompiler.CompileWithResults()
at
Exclaimer.Data.Templates.TemplateCompiler.Compile()
at
Exclaimer.Data.Templates.TemplateDesigner.Serialize(Boolean fUpdateIcon)
at
Exclaimer.Connectors.OutlookSettings.Settings.Serialize(TemplateHolder
templateHolder, Boolean updateIcon)
at
Exclaimer.Common.Gallery.Feature.TemplateHolder.Serialize(Boolean fUpdateIcon)
at
Exclaimer.Connectors.OutlookSettings.Settings.EditGalleryEntry(TemplateHolder
templateHolder, IWin32Window parentWindow)
at
Exclaimer.Common.Gallery.Feature.TemplateLibraryHelper.Edit(TemplateHolder
item, IWin32Window parent)
at
Exclaimer.Connectors.OutlookSettings.UI.TemplatePreviewPanel.buttonEdit_Click(Object
sender, EventArgs e)
at
Exclaimer.Console.Elements.Action.OnActionFired(EventArgs e)
at Exclaimer.Console.Elements.Action.Fire()

Reason:

This exception occurs if .Net Framework 3.5 Service Pack 1 is not installed.


Solution:

Install .Net Framework 3.5 Service Pack 1 - even if you have a higher version of .Net Framework installed.

Note that a reboot may be required after installing .Net Framework 3.5 Service Pack 1.

Troubleshooting