Compile assembly in runtime and save dll in a folder
.net-assembly, c#, compilation, runtime
Solution
You could use the `OutputAssembly` property of `CompilerParameters` to sets the name (path) of the output assembly. From your example:
...
CompilerParameters compilerparams = new CompilerParameters();
compilerparams.GenerateInMemory = false;
compilerparams.OutputAssembly = "OutputAssembly.dll";
CompilerResults results = compiler.CompileAssemblyFromSource(compilerparams, code);
...
Problem
This is my code: ``` Microsoft.CSharp.CSharpCodeProvider provider = new CSharpCodeProvider(); ICodeCompiler compiler = provider.CreateCompiler(); CompilerParameters compilerparams = new CompilerParameters(); compilerparams.GenerateInMemory = false; CompilerResults results = compiler.CompileAssemblyFromSource(compilerparams, code); if (results.Errors.HasErrors) { StringBuilder errors = new StringBuilder("Compiler Errors :\r\n"); foreach (CompilerError error in results.Errors ) { errors.AppendFormat("Line {0},{1}\t: {2}\n", error.Line, error.Column, error.ErrorText); } throw new Exception(errors.ToString()); } else { return results.CompiledAssembly; } ``` How do I save the created dll to my own specific folder? When I debug, somehow the assembly location is at 'AppData/Local/Temp/' folder.