嵌入式资源文件在运行时不存在 .Net 4

Sha*_*dog 3 c# embedded-resource .net-assembly

我有一个需要在运行时访问的文件,我已将其包含在我的项目中并将其设置为嵌入式资源(它实际上是一个源文件,我将扩展名更改为 .cs.txt 以绕过 VS 尝试编译它.这应该不重要,但我无论如何都会提到它以防万一)。当我尝试获取文件时

var assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(resourceName);
Run Code Online (Sandbox Code Playgroud)

我得到一个空值。我已确保使用 Namespace.Folder.Filename 表示法,但这没有帮助。看来该文件实际上不存在,因为当我打电话时

assembly.GetManifestResourceNames();
Run Code Online (Sandbox Code Playgroud)

我得到一个空字符串数组。知道会发生什么情况吗?

Sam*_*Lad 8

我很欣赏这是一个旧线程,但我今天早上发现的内容可能对其他人有用。

我有一个资源,其中文件名有多个点......

示例文件名:data.txt.dat

var resources = asm.GetManifestResourceNames(); // None found (empty array)
Run Code Online (Sandbox Code Playgroud)

重命名为 data.txt (仍然只是项目配置中的嵌入资源

var resources = asm.GetManifestResourceNames(); // Entry found ("Assembly.Namespace.data.txt")
Run Code Online (Sandbox Code Playgroud)

所以也许多个 . 名称中的字符