4 using System.Collections.Generic;
5 using System.Diagnostics;
8 using System.Runtime.InteropServices;
10 using System.Text.RegularExpressions;
11 using Microsoft.Build.Execution;
12 using Microsoft.Build.Framework;
13 using Microsoft.VisualStudio;
14 using Microsoft.VisualStudio.Shell;
15 using Microsoft.VisualStudio.Shell.Interop;
16 using Microsoft.VisualStudio.TextTemplating.VSHost;
19 using SiliconStudio.Paradox.VisualStudio.Commands.DataGenerator;
21 namespace SiliconStudio.Paradox.VisualStudio.DataGenerator
25 public static byte[]
GenerateSource(
string assemblyOutput,
string projectFullName,
string intermediateAssembly)
29 assemblyResolver.AddSearchDirectory(Path.GetDirectoryName(assemblyOutput));
32 var intermediateAssemblyFullPath = Path.Combine(Path.GetDirectoryName(projectFullName), intermediateAssembly);
33 var assembly = AssemblyDefinition.ReadAssembly(intermediateAssemblyFullPath,
34 new ReaderParameters { AssemblyResolver = assemblyResolver, ReadSymbols =
false });
38 var sourceCode = dataConverterGenerator.TransformText();
39 return Encoding.ASCII.GetBytes(sourceCode);
Class to produce the template output
static byte[] GenerateSource(string assemblyOutput, string projectFullName, string intermediateAssembly)