using (SteamReader sr = new StreamReader("text.txt"))
我还尝试不要将文本文件放在.resx
文件中。
您正在使用的StreamReader
构造函数期望文件存在于磁盘上。如果文件嵌入在您的程序集中,您可以使用该GetManifestResourceStream
方法。
例如:
// Get the current assembly. If the file is embedded inside a different
// assembly you will need to get that assembly
var assembly = Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream("AssemblyName.test.txt"))
using (var sr = new StreamReader(stream))
{
...
}
资源嵌入到程序集中的键取决于文件在层次结构中的位置。它总是以程序集名称为前缀,然后是任何可能的子文件夹(如果有的话)。
确保在其属性中将此文件Build Action
设置为。Embedded Resource
这里an article
有更多关于访问嵌入式资源的细节。