我已经看到很多关于此的帖子,无法使用。我在我的项目的Resources文件夹中添加了一个文件(右键单击project-> Properties-> Resources,然后选择File,Add File)。
我尝试将Build Action设置为Resources和Embedded Resources。
我需要使用StreamReader读取该文件。
我尝试过以下但是无论是否将Build Action设置为Resources或Embedded Resource,都会为myStream返回NULL:
// IF I ADD FILE AS SUGGESTED BELOW IN UPDATE, THIS WILL WORK; OTHERWISE, I GET NULL
Stream myStream = Assembly
.GetExecutingAssembly()
.GetManifestResourceStream("MyProject.General.Tests.mytestfile.csv"); //returns NULL
using (CsvReader csv = new CsvReader(new StreamReader(myStream), true)
{
...
}
我也尝试了这个,但它也返回NULL
Stream myStream = Assembly
.GetExecutingAssembly()
.GetManifestResourceStream(Properties.Resources.mytestfile); //returns NULL
using (CsvReader csv = new CsvReader(new StreamReader(myStream), true)
{
...
}
如果我快速观察并输入这个Properties.Resources.mytestfile,我会得到我文件的字符串表示。
更新,通过右键单击项目添加文件 - >属性 - >资源(这种方式,它将无法工作),通过正确点击项目添加 - > ADD->现有项目,然后设置构建操作=嵌入式资源,它将工作。 (感谢Aedvald Tseh的详细解答,帮助我了解这一点)