可能重复:如何在.NET程序集中嵌入文本文件?
我有一个使用多个文本文件的c#winforms应用程序 .
我想以某种方式将这些文件嵌入到exe或dll中,以便在部署应用程序时用户无法看到它们 .
视觉工作室可以做那样的事吗?
使用文本文件,您还可以按以下步骤操作:
双击 Properties - > Resources.resx 文件以打开资源设计器 .
Properties
Resources.resx
从顶部的第一个小下拉列表中,选择"Files"作为资源类型 .
单击 Add Resource - > Add Existing File... 并选择文本文件 .
Add Resource
Add Existing File...
假设您添加的TXT名为 Foo.txt ...您可以像这样访问它的内容:
Foo.txt
String foo = Properties.Resources.Foo;
然后,您还可以在资源设计器中更改te文件名,它们将在您的代码中自动重构 . 从 Resources 目录中,它们现在位于项目中,您也可以编辑它们 . 我建议您将其访问级别保持为 internal .
Resources
internal
我是这样做的:
在解决方案资源管理器中,右键单击Properies / Resources.resx .
选择"View Designer" .
您可以使用"Add Resource"按钮,但我经常只是将文件拖到设计器窗口上 .
Visual Studio将执行代码生成,以便您可以使用 Properties.Resources.YourFileName 访问您的文件 .
Properties.Resources.YourFileName
警惕:Visual Studio会将您选择的文件复制到项目的Resources文件夹中 . 它不会创建指向文件最初存储位置的链接 .
2 回答
使用文本文件,您还可以按以下步骤操作:
双击
Properties
- >Resources.resx
文件以打开资源设计器 .从顶部的第一个小下拉列表中,选择"Files"作为资源类型 .
单击
Add Resource
- >Add Existing File...
并选择文本文件 .假设您添加的TXT名为
Foo.txt
...您可以像这样访问它的内容:然后,您还可以在资源设计器中更改te文件名,它们将在您的代码中自动重构 . 从
Resources
目录中,它们现在位于项目中,您也可以编辑它们 . 我建议您将其访问级别保持为internal
.我是这样做的:
在解决方案资源管理器中,右键单击Properies / Resources.resx .
选择"View Designer" .
您可以使用"Add Resource"按钮,但我经常只是将文件拖到设计器窗口上 .
Visual Studio将执行代码生成,以便您可以使用
Properties.Resources.YourFileName
访问您的文件 .警惕:Visual Studio会将您选择的文件复制到项目的Resources文件夹中 . 它不会创建指向文件最初存储位置的链接 .