iBatis.net构架下bin\release目录复制之后exe无法执行(亲身实践)

系统环境:win XP + VS 2008 + iBatis.net

 

操作:
  程序生成在bin\release目录下,点击其exe文件,可执行并且结果正确.
  将bin\release目录下的全部文件复制到本机另一新建文件夹中,再点击其exe文件,无响应

问题:
  由于是在同一台计算机上,而且是全文件复制,想不明白为什么会换一个目录就不能执行了

解决过程:

  把程序整个目录(注意是整个目录,不仅仅是bin)全部复制到另一文件夹,然后一个个文件夹的删除,再执行bin\release下面的exe,

  直到删除了存放sql.xml的Map文件夹之后,exe文件无法执行了.

  原因:

  在设定该路径的配置文件中SqlMap.config中,设定调用的sql.xml所在位置<sqlMap resource="Maps/sql.xml">
  而该sql.xml的属性中“复制到输出”被设定为“不复制”
  导致bin\release中文件位置移动之后,无法执行。

  (关于iBatis.net的配置设定,参见我的文章<vb.net配置IBatis.Net说明(连接SQL Server,亲身实践)>)

 

解决办法:

  将sql.xml的属性中“复制到输出”被设定为“始终复制
  这样在bin\release中自动生成Maps/sql.xml文件,之后再整个文件夹位置移动之后,正常执行。

遗留问题:

  这样做的话,sql文就没有保留的展示在别人面前了。不知道有没有更好的解决办法


你可能感兴趣的:(iBatis.net构架下bin\release目录复制之后exe无法执行(亲身实践))