C# 从已发布的应用程序访问资源
我在Resources文件夹中嵌入了一些.txt文件。当我运行项目时,根据选择,确定.txt文件名 例如,强> 文件名是sample017.txt,我保留了textName字符串变量。此文件的完整路径为: “../../Resources\”+textName 我将所有这些赋值给fileName字符串变量:C# 从已发布的应用程序访问资源,c#,resources,embed,C#,Resources,Embed,我在Resources文件夹中嵌入了一些.txt文件。当我运行项目时,根据选择,确定.txt文件名 例如, 文件名是sample017.txt,我保留了textName字符串变量。此文件的完整路径为: “../../Resources\”+textName 我将所有这些赋值给fileName字符串变量: fileName = "../../Resources\\" + textName; 因此,我将此字符串变量用于流式文本文件: using (Stream input = File.OpenR
fileName = "../../Resources\\" + textName;
因此,我将此字符串变量用于流式文本文件:
using (Stream input = File.OpenRead(fileName))
在这种形式下,我可以访问sample017.txt文件,它在调试模式下运行良好。。但是,当我构建一个安装项目并在任何PC上安装它时,它会发生异常,并且找不到“Resources”文件夹。如何使用.exe文件文件夹中的资源来管理这些文件
注意:我不想将文件复制到程序文件夹。我想嵌入这些源。尝试删除../。。因为资源部署后与本地调试时不同 还请检查此线程: 您还可以将文件作为资源嵌入,并使用Assembly.GetExecutionGassembly加载它。使用GetManifestResourceStream获取内容 有关访问资源的更多详细信息,请参见: 这是一张剪下来的照片
var assembly = Assembly.GetExecutingAssembly();
var res = assembly.GetManifestResourceStream("MyNameSpace.TextFile.txt");
var textStreamReader = new StreamReader(res);
关于在设置中添加资源文件夹,您是否已检查目标计算机上是否确实存在该资源文件夹?您是否已将其配置为与项目一起部署?@GrantThomas我不想将资源文件夹替换为已安装目录文件夹。我想嵌入文件。@EhsanUllah如何将资源文件夹添加到安装程序?@team16sah我认为您无法将文本文件添加为嵌入资源。您好,请给我一个详细的代码段好吗?谢谢。嗨,当然,我添加了一个链接和一个snippe。嗯。