从单独的文件夹中的类访问项目文件

时间:2010-12-10 02:42:07

标签: c# .net visual-studio visual-studio-2010

以下屏幕截图来自解决方案资源管理器窗格:


我在文件夹 DataAccess 中有一个类需要访问文件夹数据中的资源。我收到以下错误消息。

System.IO.IOException: Cannot locate resource 'data/danio_rerio.xml'.

如果不起作用:

Does not Work

在以下情况下有效:

It works

文件夹数据是文件夹 DataAccess 中的子文件夹。我可以使用以下语法:

foldername/somefile.someextension

访问项目中位于单独文件夹中的资源?


编辑:我不想将位置硬编码到我的目录。

2 个答案:

答案 0 :(得分:2)

运行应用程序时,正在运行的目录将成为“活动目录”

假设你有

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

..运算符告诉您要返回目录层次结构

然而,假设您的二进制文件位于比您的资源更低的分支中。我实际上做的是在特殊目录(例如

)中复制我对运行时绝对需要的所有内容

c:\myproject\RuntimeRequired

这样我可以像这样发布一个post build事件(在Project / Properties / Build-Events / Post-Build中)

copy / Y“$(ProjectDir)RuntimeRequired *”“$(OutDir)”

答案 1 :(得分:0)

我自己找到了答案。应该在提供赏金之前搜索更多内容-_-

Pack URIs in WPF [Source]