【发布时间】:2011-05-07 20:36:49
【问题描述】:
我有一个在运行时生成的 XML。我需要使用 CodeDOM 将此 XML 内容嵌入到程序集中。稍后将从程序集中访问 XML。
如何将 XML 嵌入到程序集中?我应该将 XML 作为 EmbeddedResources 包含在程序集中吗?
谢谢
【问题讨论】:
-
是的,应该可以正常工作。
标签: codedom
我有一个在运行时生成的 XML。我需要使用 CodeDOM 将此 XML 内容嵌入到程序集中。稍后将从程序集中访问 XML。
如何将 XML 嵌入到程序集中?我应该将 XML 作为 EmbeddedResources 包含在程序集中吗?
谢谢
【问题讨论】:
标签: codedom
是的,例如,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 需要在文件中可用,才能将其作为资源嵌入。
【讨论】:
"\"/win32icon:{0}\"",即引号应该跨越整个参数