-2
using (SteamReader sr = new StreamReader("text.txt"))
我也试着不要把文本文件的.resx
文件中的文本文件时,得到一个FileNotFound例外。C#我使用的StreamReader读取资源
using (SteamReader sr = new StreamReader("text.txt"))
我也试着不要把文本文件的.resx
文件中的文本文件时,得到一个FileNotFound例外。C#我使用的StreamReader读取资源
您正在使用的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
提供了关于访问嵌入式资源的更多细节。
如果您在获取资源的完全限定名称时遇到问题,请参阅本文以了解如何使用ILDASM来查找它(http://www.codeproject.com/Articles/114997/Embedding-and-Using-Resources-from -Net组装)。 – 2013-02-17 17:21:53