示例#1
0
        /// <inheritdoc />
        public Assembly InstrumentAndLoad(string assemblyPath, string instrumentedAssemblySavePath)
        {
            if (assemblyPath == null)
            {
                throw new ArgumentNullException(@"assemblyPath");
            }

            AssemblyDefinition assemblyDefinition = AssemblyFactory.GetAssembly(assemblyPath);

            DynamicAssemblyBuilder builder = new DynamicAssemblyBuilder(assemblyDefinition);

            DynamicAssembly dynamicAssembly = builder.Build(instrumentedAssemblySavePath);

            if (instrumentedAssemblySavePath != null)
            {
                dynamicAssembly.Save();
            }

            return(dynamicAssembly.Builder);
        }