引用文本文件Visual Studio C#

引用文本文件Visual Studio C#,c#,visual-studio-2010,C#,Visual Studio 2010,我很难将文本文档硬编码到我的C#forms应用程序中。基本上,我有网页HTML,我想填充到一个文本框。我可以用流阅读器轻松地完成这项工作,也可以永远将其写入字符串。环顾四周,我可以添加到解决方案中的不同元素是一个文本文件 因此,我正在寻找一种简单的方法来告诉我的应用程序读取文本文件或类似的内容,并将其放入文本框中。到目前为止,我还不知道如何引用我添加到表单中的文本文件 我想把它作为默认文档编码到exe中。我不想要一个外部文件,这样它就不能被编辑,这样程序就变得很容易移植 关于如何在内部嵌入此文件

我很难将文本文档硬编码到我的C#forms应用程序中。基本上,我有网页HTML,我想填充到一个文本框。我可以用流阅读器轻松地完成这项工作,也可以永远将其写入字符串。环顾四周,我可以添加到解决方案中的不同元素是一个文本文件

因此,我正在寻找一种简单的方法来告诉我的应用程序读取文本文件或类似的内容,并将其放入文本框中。到目前为止,我还不知道如何引用我添加到表单中的文本文件

我想把它作为默认文档编码到exe中。我不想要一个外部文件,这样它就不能被编辑,这样程序就变得很容易移植


关于如何在内部嵌入此文件并像类或其他东西一样访问它,有什么建议吗?

您所描述的概念称为

您可以嵌入各种文件作为资源;图标、图像、xml甚至纯文本文件,并从代码中引用它们,例如:

internal string GetFromResources(string resourceName)
{
    Assembly assem = this.GetType().Assembly;
    using (Stream stream = assem.GetManifestResourceStream(resourceName))
    {
        using (var reader = new StreamReader(stream))
        {
            return reader.ReadToEnd();
        }
    }
}

当你知道你在寻找什么时,有大量的文档可用:

我做了类似的事情

将.html添加到项目中,将“属性中的生成操作”设置为“嵌入资源”

然后,您可以通过

Assembly.GetExecutingAssembly().GetManifestResourceStream("your.namespace.yourFile.html");

在项目上单击鼠标右键,然后单击“属性”。你会看到通常的屏幕,左边有很多标签。单击标有“资源”的图标。您可以添加字符串和其他内容,但也可以添加文本文件

将顶部的下拉列表更改为文件,然后单击“添加资源”。浏览到文本文件,命名为任何名称。这将把文件添加到程序集中。不要太激动,因为这可以反编译,所以不要再存储任何秘密消息

您可以在.net站点、mvc站点、控制台应用程序等中执行此操作。下面的代码是控制台应用程序样式,以保持简单。当然,这只是一个文本文件,但它提供了使用资源的基本知识。您可以将其扩展到其他类型的文件,包括第三部分内容,如报告模板、格式文件、xml,以及其他在升级代码时总是试图确保配置中包含这些内容可能会很笨拙的内容。缺点是,必须重新编译才能进行更改

using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var output = Properties.Resources.helloword;
            Console.WriteLine(output);
            Console.ReadLine(); //just so you can see it
        }
    }
}

哇,我希望我能检查更多的回复。我之所以这样做是因为我一步一步地完成了文本显示。这个社区很棒。我最大的问题是我不知道我在寻找什么概念。这太完美了。谢谢。第一条线将帮助我很长一段时间。谢谢你。当你不知道自己在寻找什么的时候,很难去寻找。非常感谢你!