我在文件夹 DataAccess 中有一个类需要访问文件夹数据中的资源。我收到以下错误消息。
System.IO.IOException: Cannot locate resource 'data/danio_rerio.xml'.
文件夹数据是文件夹 DataAccess 中的子文件夹。我可以使用以下语法:
foldername/somefile.someextension
访问项目中位于单独文件夹中的资源?
编辑:我不想将位置硬编码到我的目录。
答案 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)
我自己找到了答案。应该在提供赏金之前搜索更多内容-_-