webservice运行时文件复制遗漏到Temporary ASP.NET Files文件夹

Karl_He 2009-06-15 07:20:23
各位,请问有无遇到我的这个问题。

我使用vs2005创建了一个Webservice服务。其中对数据库访问的方式,自己做了一个sqlhelpler.dll,使用时与之配套的一个自定义的数据库连接配置的xml文件"DAOConfig.xml",放置在“【sqlhelpler.dll】/config/"下。

在vs2005开发环境中测试时,当我需要调用与数据库有关的方法时,系统会自动将sqlhelpler.dll拷贝到了“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\pmp\b9eab900\29c8c3b5\assembly\dl3\87779089\2802d5f2_ecebc901”类似的ASP.NET临时文件夹中,但对于"DAOConfig.xml"文件及"config"文件夹,则必须在每次编译之后,手动拷贝一次到此临时文件夹中。

当我生成网站、发布网站到iis之后,发现在第一次运行时,也必须要手动将"DAOConfig.xml"文件及"config"文件夹进行复制到ASP.NET临时文件夹的手工操作。这可不是什么好事啊。

各位有何好方法,让除dll外的,相关文件也能做到自动复制到ASP.NET临时文件夹?不胜感激!
...全文
180 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Karl_He 2009-06-22
  • 打赏
  • 举报
回复
自己解决问题。
修改了一下sqlhelpler.dll,增加了一个使用链接字符串进行对象初始化的方法。
然后采用mappath方式读取配置文件,传递给对象构造方法,搞定!

不过还是谢谢各位的热心帮忙,送分。
Karl_He 2009-06-18
  • 打赏
  • 举报
回复
帖子沉下去了,顶起来。请大侠们,继续帮忙解答
wuyq11 2009-06-15
  • 打赏
  • 举报
回复
添加引用dll到bin,其他文件包含到项目,不需要配置到Temporary ASP.NET Files文件夹
cpio 2009-06-15
  • 打赏
  • 举报
回复
那我不知道怎么让它自动复制了

sqlhelpler.dll里面取配置文件的时候,不用相对路径,用MapPath("~/bin/xx.xlm")行不行啊
Karl_He 2009-06-15
  • 打赏
  • 举报
回复
sqlhelpler.dll是在bin目录下。但实际运行时,他做了一个自动拷贝
cpio 2009-06-15
  • 打赏
  • 举报
回复
这些文件不需要复制到Temporary ASP.NET Files下面吧,实际上运行的目录是项目文件所在的目录

你可以输出Server.MapPath("./")看看

把sqlhelpler.dll放在你的BIN目录下面不行吗?
Karl_He 2009-06-15
  • 打赏
  • 举报
回复
已包含啊。在解决方案资源管理器可看到,位于bin\config下。
发布时能自动复制到指定的发布路径,如 C:\Inetpub\wwwroot\myWebservice的bin\config 下。但当第一次运行时,它就没有从发布路径复制到 Temporary ASP.NET Files文件夹了。
cpio 2009-06-15
  • 打赏
  • 举报
回复
DAOConfig.xml包含在项目中了吗?包含的话会自动复制的
Karl_He 2009-06-15
  • 打赏
  • 举报
回复
期待大侠们继续指导小弟,帮忙解决一下这个问题啊。先谢谢了!
Karl_He 2009-06-15
  • 打赏
  • 举报
回复
感谢楼上的回复。我的确是引用dll到bin,添加其他文件到项目。没有去做配置到Temporary ASP.NET Files文件夹的事情。
这个是在运行时,系统自动复制到temp路径的。

但他不复制文件过去,所以我才手动将文件及文件夹拷贝过去,才能正常运行。

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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