C# 从单独文件夹中的类访问项目文件 下面的屏幕截图来自解决方案资源管理器窗格:
我在文件夹DataAccess中有一个类需要访问文件夹data中的资源。我收到以下错误消息C# 从单独文件夹中的类访问项目文件 下面的屏幕截图来自解决方案资源管理器窗格:,c#,.net,visual-studio,visual-studio-2010,C#,.net,Visual Studio,Visual Studio 2010,我在文件夹DataAccess中有一个类需要访问文件夹data中的资源。我收到以下错误消息 System.IO.IOException:找不到资源“data/danio\u rerio.xml”。 在以下情况下不起作用: 如果: 文件夹数据是文件夹数据访问中的子文件夹。我是否可以使用以下语法: foldername/somefile.someextension 要访问项目中位于不同文件夹中的资源 编辑:我不想将位置硬编码到我的目录。当您运行应用程序时,运行的目录将成为您的“active d
System.IO.IOException:找不到资源“data/danio\u rerio.xml”。
在以下情况下不起作用:
如果:
文件夹数据是文件夹数据访问中的子文件夹。我是否可以使用以下语法:
foldername/somefile.someextension
要访问项目中位于不同文件夹中的资源
编辑:我不想将位置硬编码到我的目录。当您运行应用程序时,运行的目录将成为您的“active directory” 假设你有
c:\myproject\bin\debug\myapp.exe
运行应用程序时,您尝试搜索
c:\myproject\bin\debug\foldername\somefile.someextension
你真正想要的可能很接近
c:\myproject\data\daniorenio.xml
因此,您需要搜索以下目录
c:\myproject\bin\debug\..\data\daniorenio.xml
。
操作符告诉您要返回目录层次结构
不过,这是假设二进制文件位于比ressource更低的分支中。实际上,我所做的是将运行时绝对需要的所有内容复制到一个特殊目录中,例如
c:\myproject\RuntimeRequired
这样我就可以发出这样的生成后事件(在Project/Properties/build Events/post build中)
复制/Y“$(ProjectDir)RuntimeRequired*”$(OutDir)”我自己找到了答案。在提供赏金之前应该多找些-_- 这些文件的“部署”设置是什么。通常,资源在编译时绑定到程序集中,然后通过
ResourceStream
而不是FileStream
访问。