public override void Execute(IDictionary <string, object> input) { var pathKey = input.Get <string>(PATH); var path = _collectionProvider.GetValue(CollectionValues.TextTransformSource, pathKey); var content = File.ReadAllText(path); var clipboard = WindowsClipboard.GetText(); var templateCode = @" using System; using Leftware.Common; public class DynamicTransform : ITransformExecutor { {{ code }} } "; var code = templateCode.FormatLiquid(new { code = content }); //var currentAssemblyLocation = GetType().Assembly.Location; var compileResult = UtilCompile.Compile(code); if (!compileResult.Success) { _console.WriteLine("Failed to compile dynamic code"); _console.WriteLine(compileResult.Errors[0]); return; } var assembly = compileResult.Assembly; var t = assembly.GetType("DynamicTransform"); var instance = (ITransformExecutor)Activator.CreateInstance(t); var result = instance.Execute(clipboard); WindowsClipboard.SetText(result); }