使用CodeDOM在程序集中嵌入XML

时间:2011-05-07 12:16:09

标签: codedom

我在运行时生成了一个XML。我需要使用CodeDOM将此XML内容嵌入到程序集中。稍后将从程序集中访问XML。

如何将XML嵌入到汇编中?我应该在程序集中包含XML作为EmbeddedResources吗?

由于

1 个答案:

答案 0 :(得分:0)

是的,例如,EmbeddedResources属性。例如:

    Assembly a1 = typeof(MyClass).Assembly;
    System.CodeDom.Compiler.CompilerParameters cp = new System.CodeDom.Compiler.CompilerParameters();
    cp.ReferencedAssemblies.Add(a1.Location); // for example
    cp.GenerateInMemory = false;
    cp.GenerateExecutable = true;
    cp.IncludeDebugInformation = false;
    cp.CompilerOptions = "";
    cp.CompilerOptions += String.Format("/win32icon:\"{0}\"", nameOfIconFile);
    cp.CompilerOptions += " /target:winexe";
    cp.EmbeddedResources.Add(xmlFileName);

    var csharp = new Microsoft.CSharp.CSharpCodeProvider();
    System.CodeDom.Compiler.CompilerResults cr = csharp.CompileAssemblyFromSource(cp, LiteralSource);

xml需要在文件中可用,以便将其作为资源嵌入。