GenerateTestPackages.AssemblySourceFileGenerator.TransformText C# (CSharp) Method

TransformText() public method

public TransformText ( ) : string
return string
        public virtual string TransformText()
        {
            this.Write("\r\nusing System;\r\nusing System.Text;\r\nusing System.Reflection;\r\n\r\n[assembly: Assem" +
                    "blyVersion(\"");
            
            #line 7 "D:\work\nuget\Tools\NuGet\GenerateTestPackages\AssemblySourceFileGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Package.FullName.Version.Version));
            
            #line default
            #line hidden
            this.Write("\")]\r\n\r\nnamespace ");
            
            #line 9 "D:\work\nuget\Tools\NuGet\GenerateTestPackages\AssemblySourceFileGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Package.Id));
            
            #line default
            #line hidden
            this.Write(" {\r\n    public static class SomeClass {\r\n        public static string SomeString " +
                    "{\r\n            get  {\r\n                return \"");
            
            #line 13 "D:\work\nuget\Tools\NuGet\GenerateTestPackages\AssemblySourceFileGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Package.FullName));
            
            #line default
            #line hidden
            this.Write(" (\"\r\n");
            
            #line 14 "D:\work\nuget\Tools\NuGet\GenerateTestPackages\AssemblySourceFileGenerator.tt"
 foreach (var dependency in Package.Dependencies) { 
            
            #line default
            #line hidden
            this.Write("                    + ");
            
            #line 15 "D:\work\nuget\Tools\NuGet\GenerateTestPackages\AssemblySourceFileGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dependency.Id));
            
            #line default
            #line hidden
            this.Write(".SomeClass.SomeString + \" \"\r\n");
            
            #line 16 "D:\work\nuget\Tools\NuGet\GenerateTestPackages\AssemblySourceFileGenerator.tt"
 } 
            
            #line default
            #line hidden
            this.Write("                    + \")\";\r\n            } \r\n        }\r\n    }\r\n}\r\n");
            return this.GenerationEnvironment.ToString();
        }
    }

Usage Example

Example #1
0
        static void CreateAssembly(PackageInfo package)
        {
            // Save the snk file from the embedded resource to the disk so we can use it when we compile
            using (var resStream = typeof(Program).Assembly.GetManifestResourceStream("GenerateTestPackages." + keyFileName)) {
                using (var snkStream = File.Create(keyFileName)) {
                    resStream.CopyTo(snkStream);
                }
            }


            var codeProvider   = new CSharpCodeProvider();
            var compilerParams = new CompilerParameters()
            {
                OutputAssembly  = Path.GetFullPath(GetAssemblyFullPath(package.FullName)),
                CompilerOptions = "/keyfile:" + keyFileName
            };

            // Add all the dependencies as referenced assemblies
            foreach (DependencyInfo dependency in package.Dependencies)
            {
                compilerParams.ReferencedAssemblies.Add(GetAssemblyFullPath(dependency.FullName));
            }

            // Create the source code and compile it using CodeDom
            var generator = new AssemblySourceFileGenerator()
            {
                Package = package
            };
            CompilerResults results = codeProvider.CompileAssemblyFromSource(compilerParams, generator.TransformText());

            if (results.Errors.HasErrors)
            {
                Console.WriteLine(results.Errors[0]);
            }

            File.Delete(keyFileName);
        }
All Usage Examples Of GenerateTestPackages.AssemblySourceFileGenerator::TransformText
AssemblySourceFileGenerator