2013-05-09 138 views
0

我有个类似于this的问题。但是,我没有使用Visual Studio(是的,我知道我应该但我不想,所以不要只说使用Visual Studio)。如何使用记事本和csc.exe将文本文件嵌入到exe文件中?在没有Visual Studio的情况下在C#中嵌入资源

+0

您知道MS提供免费版本的VS 2012,对吗? http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop – 2013-05-10 00:32:45

回答

2

根据这个网站:building embedded resources using csc

使用该KB articledocs for vs.net's csharp compiler选项我来到这个:

csc.exe /out:Resources.dll /target:library /res:image.png,Resources.image.png Resources.cs 

这里的棘手的事情是MS文档的/ res选项只提及使用.resources文件,这是编译的resx文件。但实际上你可以在其中嵌入任何类型的文件。 “Resources.image.png”部分标识资源并将其放在Resources命名空间下,这是vs.net为项目指定默认命名空间时将执行的操作。

+0

有没有办法做到这一点,当从另一个程序使用CSharpCodeProvider编译? – Bob 2013-05-10 01:01:44

+0

您应该可以在任何环境中添加“/ res:”参数,但我不熟悉CSharpCodeProvider。 – 2013-05-10 01:06:51

+0

它是一个允许您从C#中编译C#的类。 C#ception。 – Bob 2013-05-10 02:00:58

1

查看csc.exe的帮助显示它支持选项/resource:<resinfo>/res缩写。

看在VS的一个项目,有一个嵌入的资源输出的生成表明,它使用此还有:/resource:TextFile1.txt,ConsoleApplication2.TextFile1.txt

显然resinfo意味着relative\path\to\FileName,ResourceName

相关问题