【问题标题】:Embed Text Files in a .NET Assembly or Executable [duplicate]在 .NET 程序集或可执行文件中嵌入文本文件 [重复]
【发布时间】:2012-12-31 13:10:00
【问题描述】:

可能重复:
How to embed a text file in a .NET assembly?

我有一个使用多个文本文件的 c# winforms 应用程序。

我想以某种方式将这些文件嵌入到 exe 或 dll 中,以便在部署应用程序时用户看不到它们。

Visual Studio 可以做这样的事情吗?

【问题讨论】:

标签: c# winforms visual-studio-2010


【解决方案1】:

对于文本文件,您还可以执行以下操作:

  1. 双击您的Properties -> Resources.resx 文件以打开资源设计器。
  2. 从顶部的第一个小下拉菜单中,选择“文件”作为资源类型。
  3. 点击Add Resource -> Add Existing File... 并选择您的文本文件。

假设您添加的 TXT 名为 Foo.txt...您可以像这样访问它的内容:

String foo = Properties.Resources.Foo;

然后您还可以在资源设计器中更改文件名,它们将在您的代码中自动重构。从Resources 目录(它们现在位于您的项目中),您也可以编辑它们。 我只是建议您将他们的访问级别保持为internal

【讨论】:

  • 是的,你比我早了几秒钟! ;P
  • 对我来说,将文件添加到资源后还需要重新启动 Visual Studio
  • 它在 Linux 上不起作用。
  • var xx = Properties.Resources.xx; Console.Write(xx); 输出为..\Resource\xx.txt;System.String, mscorlib, ....
【解决方案2】:

我是这样做的:

  1. 在解决方案资源管理器中,右键单击 Properies/Resources.resx。
  2. 选择“视图设计器”。
  3. 可以使用“添加资源”按钮,但我通常只是将文件直接拖到设计器窗口中。
  4. Visual Studio 将执行代码生成,以便您可以使用Properties.Resources.YourFileName 访问您的文件。

小心:Visual Studio 会将您选择的文件复制到项目的 Resources 文件夹中。它不会创建指向文件最初存储位置的链接。

【讨论】:

猜你喜欢
  • 2015-12-01
  • 2014-03-11
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 2022-01-19
  • 2013-08-27
  • 1970-01-01
相关资源
最近更新 更多