+ -
当前位置:首页 → 问答吧 → .Net framework 到底干了什么事情??

.Net framework 到底干了什么事情??

时间:2011-12-12

来源:互联网

我用IBATIS.NET 写了个WinForm的程序

在DAO层使用了一个Database.config 的文件,



<?xml version="1.0" encoding="utf-8" ?>
<settings>
  <!-- User application and configured property settings go here.-->
  <!-- To run tests, create a file named DataBase.config 
with your own value for datasource.
(don't included it in the solution and don't commit it in SVN)
-->
  <add key="userid" value="sa" />
  <add key="password" value="sa" />
  <add key="database" value="Mydatebase" />
  <add key="datasource" value="127.0.0.1" />
  <add key="selectKey" value="select @@IDENTITY as value" />
  <add key="directory" value="Maps" />
  <add key="useStatementNamespaces" value="false" />
</settings>



然后是 sqlmap.config


<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

  <!-- Rem : If used via a DataAccess context, properties tag will be ignored 
  <properties resource="../../database.config"/> -->
  <properties embedded="database.config, WFDao"/>
  <settings>
  <setting useStatementNamespaces="${useStatementNamespaces}"/>
  <setting cacheModelsEnabled="true"/>
  <setting validateSqlMap="false"/>
  </settings>

  <!-- Optional if resource -->
  <providers embedded="providers.config,WFDao"/>
  <!-- ==== SqlClient configuration ========= -->
  <!-- Rem : If used via a DataAccess context, database tag will be ignored -->
  <database>
  <!-- Optional ( default ) -->
  <provider name="sqlServer2.0"/>
  <dataSource name="iBatisNet" connectionString="data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5; min pool size=10; max pool size=512"/>
  </database>

  <sqlMaps>
  <!-- user via embedded-->
  <!--sqlMap embedded="Map.SqlClient.Person.xml,WFDao"/> -->
  <sqlMap embedded="Map.SqlClient.Table.xml,WFDao"/>
  <sqlMap embedded="Map.SqlClient.Column.xml,WFDao"/>

  </sqlMaps>
</sqlMapConfig>

上面的东西在网络上有个例子 ,一直调试比较正常。。。 我是说在vs2010的编译环境IDE中 。。。可以访问数据库,DAO写了个类库程序,然后写了个Winform 访问数据库。。。。非常的简单



问题出来了。。。我在Winform的Debug改写 database.config 。竟然不起任何作用? 只识别我在IDE里面的工程里的配置文件



晕了。。。。.Net framework 到底干了什么事情呢,这样的程序如何发布?



回贴有分!

作者: feifei2001   发布时间: 2011-12-12

该回复于2011-12-12 13:02:43被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
  • Sandy945
  • (阿非 (艰难困苦,玉汝于成!))
  • 等 级:
  • 2

    2

    更多勋章
#2楼 得分:0回复于:2011-12-12 12:43:22
你应该改写 DAO中的Database.config

作者: a346729576   发布时间: 2011-12-12

Sandy945 : 怎么改写?为什么有上面的问题,给个思路

作者: Sandy945   发布时间: 2011-12-12

如果你是改Debug bin目录下的文件,那么你运行同目录的执行文件 是没问题的

如果你用vs运行,那么Debug bin目录下的文件 是会重新编译生成的,你之前的改动都是被覆盖的

作者: feifei2001   发布时间: 2011-12-12

引用 2 楼 sandy945 的回复:
你应该改写 DAO中的Database.config


有点道理.

作者: Sandy945   发布时间: 2011-12-12

现在是我改写debug下的配置文件不起任何效果,只能改IDE中的才起作用。

作者: liuqian4243   发布时间: 2011-12-12

该回复于2011-12-12 13:33:56被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#8楼 得分:0回复于:2011-12-12 13:37:53
引用 4 楼 sandy945 的回复:

如果你是改Debug bin目录下的文件,那么你运行同目录的执行文件 是没问题的

如果你用vs运行,那么Debug bin目录下的文件 是会重新编译生成的,你之前的改动都是被覆盖的

+1

作者: feifei2001   发布时间: 2011-12-12

如果你是改Debug bin目录下的文件,那么你运行同目录的执行文件 是没问题的

--------------------------------------------------
已经编译好的东西了。但改写debug bin目录下的配置文件,不起任何作用。


如果你用vs运行,那么Debug bin目录下的文件 是会重新编译生成的,你之前的改动都是被覆盖的
--------------------------------------------------
关键是现在debug的任何改动现在都不起作用,里面没这个database.config都可以

作者: chenandczh   发布时间: 2011-12-12

这个不应该在Debug里面改

作者: xiaozhi797   发布时间: 2011-12-12

重新编译的时候debug目录中的内容会重新生成
.net Framework 就是个.net平台,只有在这个平台上..net程序才可以运行....

作者: feifei2001   发布时间: 2011-12-12

你查看你修改的那个配置文件
里面有个复制到输出目录的选项
里面有始终复制什么的

如果选的始终复制...
每次编译的时候都会把你vs源代码里面的文件复制到debug里面
于是你的修改就被覆盖了...

作者: Thr21ough   发布时间: 2011-12-12