【问题标题】:Embedding XML in Assembly using CodeDOM使用 CodeDOM 在程序集中嵌入 XML
【发布时间】:2011-05-07 20:36:49
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 是的,应该可以正常工作。

标签: codedom


【解决方案1】:

是的,例如,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 需要在文件中可用,才能将其作为资源嵌入。

【讨论】:

  • 如何从 codedom 访问 XML 或任何资源? “my.resources”关键字在 codedom 中不可用 (?)
  • 格式字符串应该是"\"/win32icon:{0}\"",即引号应该跨越整个参数
猜你喜欢
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多