C# CodeDom 添加嵌入资源,无需先将文件拖放到磁盘
在 CodeDom 中,可以使用 CompilerParameters.EmbeddedResources 属性。在我的项目中,我将一些字节的数据作为嵌入资源添加到动态创建的文件中(如下所示)。
Byte[] bytes = new byte[] {1,2,3,4,5};
// Write the data to disk (I would like to avoid this step!).
File.WriteAllBytes(@"C:\EmbeddedResource.exe", bytes);
CompilerParameters cp;
cp.EmbeddedResources.Add(@"C:\EmbeddedResource.exe");
有什么方法可以将“字节”数据存储在内存中,并将其直接从内存添加为嵌入式资源。
谢谢你的建议,
埃文
In CodeDom, it is possible to add an embedded resource to your dynamically created file by using the CompilerParameters.EmbeddedResources property. In my project, I am adding some bytes of data as an embedded resource to my dynamically created file (as shown below).
Byte[] bytes = new byte[] {1,2,3,4,5};
// Write the data to disk (I would like to avoid this step!).
File.WriteAllBytes(@"C:\EmbeddedResource.exe", bytes);
CompilerParameters cp;
cp.EmbeddedResources.Add(@"C:\EmbeddedResource.exe");
Is there some way I can store the data of 'bytes' in memory, and add it as an embedded resource directly from memory.
Thank you for any advice,
Evan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
恐怕你不能。查看 CSharpCodeGenerator(使用 Telerik 的 JustDecompile 或 Redgate 的 .NET Reflector),我发现了 CompilerParameters 类的用法:
它们使用它来创建一个字符串,其中包含传递给 C# 编译器 exe 的所有命令行参数 (http:// msdn.microsoft.com/en-us/library/6ds95cz0%28v=VS.100%29.aspx)。所以,最后,我猜你的代码只是用 csc.exe 编译的。
[]的
I'm afraid you can't. Looking into the CSharpCodeGenerator (with Telerik's JustDecompile or Redgate's .NET Reflector), I found the usage of the CompilerParameters class:
They use it to create a string with all command-line parameters that are passed to the C# compiler exe (http://msdn.microsoft.com/en-us/library/6ds95cz0%28v=VS.100%29.aspx). So, at the end, I guess your code is simply compiled with csc.exe.
[]'s