在c#写dll里面怎样调用文本文件

sohoyes 2004-11-05 10:00:31
我用c#写业务系统的后台,都是生成dll文件,给前台的asp.net调用,在后台里我这样写一个文件到我的dll形成的同一目录文件夹里
dataset ds=new dataset();
ds.writeXml("c:/test/bin/a.xml");
成功写了这个文件到c:/test/bin/文件夹里,这里的c:/test/bin/是绝对路径,我想用相对路径,请问怎样可以实现呢!
我试过这样写
ds.writeXml("/a.xml");
失败
(注,你的dll编译就在c:/test/bin/这个文件夹里)
...全文
206 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightheroes 2004-11-10
  • 打赏
  • 举报
回复
所以说,干脆写个配置文件吧
forideal 2004-11-10
  • 打赏
  • 举报
回复
ds.WriteXml(@"..\..\test.xml");
//or
ds.WriteXml(Server.MapPath("../../test.xml"));
jinbingg 2004-11-05
  • 打赏
  • 举报
回复
string strLocalFileName=Directory.GetCurrentDirectory() + @"\baseinfo.txt";;
sohoyes 2004-11-05
  • 打赏
  • 举报
回复
回复人: brightheroes(闭关|那一剑的风情)
( 在WinForm里面,直接
ds.writeXml("a.xml");
就是在Bin里面那是

==============
这是因为你的可执行文件exe是在bin里了,是你的应用程式直接引用dll,所以可以了,但这样,asp.net引用就会出错了.不信你可以试试
===================
还有,如果你的dll不同在一个bin里,exe文件是用晚绑定技术处理,就会失败了
sohoyes 2004-11-05
  • 打赏
  • 举报
回复

回复人: brightheroes(闭关|那一剑的风情)
( 在WinForm里面,直接
ds.writeXml("a.xml");
就是在Bin里面那是

==============
这是因为你的可执行文件exe是在bin里了,是你的应用程式直接引用dll,所以可以了,但这样,asp.net引用就会出错了.不信你可以试试
brightheroes 2004-11-05
  • 打赏
  • 举报
回复
在WinForm里面,直接
ds.writeXml("a.xml");
就是在Bin里面
sohoyes 2004-11-05
  • 打赏
  • 举报
回复
刚才试过了,你的c:\test\bin不再wwwroot 根目录下,好像不行,只能用绝对路径

不错,你说的对,我的bin是不放在wwwRoot文件夹里面的,而且也没有必要了,只要注册里面的dll就可以了,没有必要一定放在bin里,所以我也很烦,为什么只能用绝对路径
mulintaomulintao 2004-11-05
  • 打赏
  • 举报
回复
刚才试过了,你的c:\test\bin不再wwwroot 根目录下,好像不行,只能用绝对路径
mulintaomulintao 2004-11-05
  • 打赏
  • 举报
回复
ds.WriteXml(HttpContext.Current.Server.MapPath("c:/test/bin/a.xml"));
sohoyes 2004-11-05
  • 打赏
  • 举报
回复
ds.WriteXml(HttpContext.Current.Server.MapPath("a.xml"));
是相对asp.net的路径,这个我知道,我前台不单是要在asp.net里调用,也可以在winform里调用了,是一个业务层的dll,所以我想让它生成在dll的文件夹里,跟前台的view层无关
龍过鸡年 2004-11-05
  • 打赏
  • 举报
回复
你用 response 将 "/a.xml" 的路径显示出来,看看是什么
minrange 2004-11-05
  • 打赏
  • 举报
回复
在page类中可以提供路径

调用把路径传进来
haoztao 2004-11-05
  • 打赏
  • 举报
回复
ds.writeXml(Environment.CurrentDirectory & "\a.xml")
brightheroes 2004-11-05
  • 打赏
  • 举报
回复
ds.WriteXml(HttpContext.Current.Server.MapPath("a.xml"));
520NET 2004-11-05
  • 打赏
  • 举报
回复
LG
gqchen1981 2004-11-05
  • 打赏
  • 举报
回复
看看ds.writeXml("..//..//a.xml");
sohoyes 2004-11-05
  • 打赏
  • 举报
回复
string strLocalFileName=Directory.GetCurrentDirectory() + @"\baseinfo.txt";;
测试过在iis里只能取出c:/winnt/system32的路径,真的没有办法了,看来是要老实写下这个配置文件的路径

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧