[英]Referencing Text file Visual Studio C#
我无法将文本文档硬编码到我的C#表单应用程序中。 基本上我有网页HTML,我想填充到文本框中。 我可以使用流式阅读器轻松完成此操作,或者将其永久写入字符串。 环顾我可以添加到我的解决方案的不同元素是文本文件。
因此,我正在寻找一种简单的方法来告诉我的应用程序读取文本文件或类似内容并将其放在文本框中。 到目前为止,我无法弄清楚如何引用我添加到表单中的文本文件。
我想将此编码作为默认文档编写到exe中。 我不想要一个外部文件,因此无法对其进行编辑,因此程序变得易于移植。
有关如何内部嵌入此文件并像类或类似的方式访问它的任何建议?
右键单击您的项目,然后单击属性。 你会得到通常的屏幕,左边有很多标签。 单击显示“资源”的那个。 您可以添加字符串和其他内容,但也可以添加文本文件。
将顶部的下拉列表更改为文件,然后单击“添加资源”。 浏览到文本文件,无论如何都要命名。 这会将文件添加到程序集中。 不要太兴奋,因为这可以反编译,所以不要存储任何秘密消息。
您可以在.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
}
}
}
您描述的概念称为嵌入资源 。
您可以将各种文件嵌入为资源; 图标,图像,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();
}
}
}
当你知道你正在寻找的东西时,有大量的文档可用: http : //msdn.microsoft.com/en-us/library/0c6xyb66.aspx
我做了类似的事情。
将.html添加到项目中,将属性中的Build Action设置为Embedded Resource
然后,您可以通过此流程获取该项目的流
Assembly.GetExecutingAssembly().GetManifestResourceStream("your.namespace.yourFile.html");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.