如何将自定义文本文件添加到Visual Studio项目?

7

我正在构建一个打字应用程序,并希望将包含各种常用单词的文本文件添加到项目中,以便稍后进行读取。但是,当我前往“项目->添加现有项”时,只有将VB代码文件添加到项目的选项而没有添加文本文件的选项。是否有一种方法可以向项目添加文本文件,或者我必须在运行时从文件中导入数据?


1
嗨,斯蒂芬...你这个处理得怎么样了?你解决了吗? - PGallagher
1个回答

18

项目资源(Resx)版本:

这个版本对于您的示例来说稍微更容易使用!

  • 右键单击您的项目
  • 选择属性
  • 转到“资源”部分
  • 您将看到资源部分左上角的下拉菜单,如下面的截图所示。
  • 从下拉菜单中选择“文件”。
  • 单击“添加资源”按钮。
  • 会显示选择文件对话框。
  • 选择您的文件
  • 保存您的项目

Resx Resources

现在要访问此文件,只需像这样使用...

Dim content As String = My.Resources.mytextfile

注意:您不需要安装扩展程序,这种方法也能强类型化!

嵌入式资源版本:

  • 右键单击项目。
  • 选择添加->现有项。
  • 在文件名旁边的右下角是一个下拉菜单。
  • 选择“所有文件(*.*)”。
  • 浏览到文件所在位置。
  • 添加文件。

选择所有文件

添加完文件后,在解决方案资源管理器窗口中选择该文件,即可选择其“生成操作”。您可以从选项中选择“内容”或“嵌入式资源”。

  • 内容:允许您通过Application.GetContentStream(uri)作为流检索文件(与程序集在同一目录中)。为使此方法工作,它需要一个AssemblyAssociatedContentFile自定义特性,当您将文件标记为“内容”时,VS会自动添加该特性。
  • 嵌入式资源:将文件嵌入专属程序集清单资源中。

引用自:https://dev59.com/xHVC5IYBdhLWcg3w7Vtq#145769

如果您选择“嵌入式资源”,则可以使用以下代码读取文本文件:

Dim executing_assembly As System.Reflection.Assembly = _
    Me.GetType.Assembly.GetEntryAssembly()

' Get our namespace.
Dim my_namespace As String = _
    executing_assembly.GetName().Name.ToString()

' Load a text file.
Dim text_stream As Stream = _
    executing_assembly.GetManifestResourceStream(my_namespace _
    + ".text1.txt")
If Not (text_stream Is Nothing) Then
    Dim stream_reader As New StreamReader(text_stream)
    Label1.Text = stream_reader.ReadToEnd()
    stream_reader.Close()
End If

取自:http://www.vb-helper.com/howto_net_embedded_resources.html


这将其添加到项目中,这当然是第一步,但听起来他想将其嵌入为资源。 - Steven Doggart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接