/// <summary> /// Creates the temporary assembly. /// </summary> /// <param name="sourceCodes">The source codes.</param> /// <param name="codeReferencedAssembly">The code referenced assembly.</param> /// <returns>System.String.</returns> public string CreateTempAssembly(string[] sourceCodes, HashSet <string> codeReferencedAssembly = null) { try { sourceCodes.CheckNullObject("sourceCodes"); _assemblyProvider.CheckNullObject("_assemblyProvider"); var compileResult = _assemblyProvider.CreateRemoteTempAssembly(sourceCodes, codeReferencedAssembly); compileResult.CheckNullObject(nameof(compileResult)); var exceptionInfo = compileResult.GetExceptionInfo(); if (exceptionInfo == null) { return(compileResult.TempAssemblyName); } else { throw ExceptionFactory.CreateOperationException(data: exceptionInfo); } } catch (Exception ex) { throw ex.Handle(new { sourceCodes, codeReferencedAssembly }); } }
/// <summary> /// Creates the temporary assembly. /// </summary> /// <param name="coreCode">The core code.</param> /// <param name="codeReferencedAssembly">The code referenced assembly.</param> /// <param name="usingNameSpaces">The using name spaces.</param> /// <param name="namespace">The namespace.</param> /// <returns>System.String.</returns> public string CreateTempAssembly(string coreCode, HashSet <string> codeReferencedAssembly = null, IEnumerable <string> usingNameSpaces = null, string @namespace = null) { try { coreCode.CheckNullObject(nameof(coreCode)); _assemblyProvider.CheckNullObject(nameof(_assemblyProvider)); var compileResult = _assemblyProvider.CreateRemoteTempAssembly(coreCode, codeReferencedAssembly, usingNameSpaces, @namespace); var exceptionInfo = compileResult.GetExceptionInfo(); if (exceptionInfo == null) { return(compileResult.TempAssemblyName); } else { throw ExceptionFactory.CreateOperationException(data: exceptionInfo); } } catch (Exception ex) { throw ex.Handle(new { coreCode, codeReferencedAssembly }); } }