zoukankan      html  css  js  c++  java
  • SharpDevelop + MySql

    Vista + VS 2005 + Oracle 10g开发环境,内存使用1.5G,系统速度终于让人受不了了。
    还没有用VS 2005调试,因为NUnit + log4net可以方便的测试和debug。

    code generator做一个MySql生成脚本,建立MySql数据库,把开发环境换成SharpDevelop + MySql,内存使用700M左右,总算好多了。MySql内存4M不到,SharpDevelop内存50M以下,比起那个Oracle 10g、SQL 2005和VS 2005,没得说的。系统启动时Vista + Oracle的启动,导致登陆后10多分钟硬盘不停的狂读,也好多了,毕竟Vista还是没法干掉,太劳神了。
    NUnit一跑,出现红灯,一个是连接字符串中需要用Initial Catalog指定默认的数据库,另外一个是MySql字符集没有配置成utf8,中文存入之后变成乱码。
    <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.connection_string">
        Password=cms;User ID=root;Data Source=localhost;Initial Catalog=CMS;Persist Security Info=True
    </property>
    <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
    <property name="use_proxy_validator">True</property>

    不好的一些地方:
    1. 智能感知/自动完成没有VS 2005方便;
    2. SharpDevelop不能跟VSS邦定。
    3. 如果使用某些字体,例如Tahoma,代码编辑器中光标老是定位不准,尤其是方法名等加粗显示的项目,使用Arial好一些;
    4. 代码编辑、调试时不少功能不支持,例如VS中的全部收缩、展开,注释收缩起来,另外一些常用快捷键没有或者跟VS不一样,例如书签、F9、Ctl K+Ctl D、VS中F12变成Ctl+Enter等。
    5. 工程比较大时,单步跟踪调试速度很慢。
    6. 代码对齐方式有些问题。
    总的来说还是很不错的了,跟当年写VB、Delphi,尤其是ASP比一下还是好多了。

    另外一个非常好用的功能,是它跟NUnit完全整合,可以直接在工程中启动NUnit并调试,不象VS中使用NUnit总是比较别扭。
       
    另外一点,在SharpDevelop中运行或者调试NUnit Test Case,如果有地方使用反射方式创建对象,但又不是使用强名称方式,则必须将相关的dll引用起来(如果业务组件没有引用,就在测试工程中添加一下),并且在引用属性上选择Copy到目标地址。
    这是因为SharpDevelop启动NUnit console时,在C:\盘中设置了一个临时目录作为NUnit的工作目录,我们必须保证反射所引用的dll在这个目录下存在。典型的情况是安装MySql的Connector时,将MySql.Data.dll注册到了全局缓存GAC中,NHibernate用反射来创建但又不是使用的强名称,这样运行时刻将无法创建MySql相关对象。引用MySql.Data后如果不选择Copy到目标地址,也是无效的。

    这么长时间没看SharpDevelop,发现竟然支持ASP.NET web project、web service、WPF了。不过aspx页面还是没有设计视图,只能手写html;它用的dll工程实现ASP.NET,不好调试。看来这还是出的比较仓促的做法。
  • 相关阅读:
    tableau prep 转置-pivot
    tabeau 画Slopegraph斜面图
    java栈
    java快速排序
    java冒泡排序
    java实现双向链表
    五、使用依赖注入取代硬连接资源(静态工厂、单例),也可用于构造方法、bulider模式
    转 String的不变性 immutable
    三、使用私有构造方法(公开成员属性或者公开静态工厂方法)或者枚举类实现singleton
    有状态对象和无状态对象
  • 原文地址:https://www.cnblogs.com/RicCC/p/841995.html
Copyright © 2011-2022 走看看