zoukankan      html  css  js  c++  java
  • 替换DLL兼容不同版本的ODP.NET的“另类”方法

        替换DLL兼容不同版本的ODP.NET的“另类”方法

     

        用.NET开发软件,如果使用了ODP.NET,就要针对不同的Oracle客户端版本,引用对应的ODP.NET进行编译,对于版本管理来说,造成了一定的麻烦。这一话题,详见之前的日志http://www.cnblogs.com/ols/archive/2011/05/27/2059640.html#commentform

        除了期待Oracle早日推出支持所有Oracle客户端的ODP.NET版本,还有一个另类的方法,可以实现一次编译支持多个Oracle客户端的需求。

     

        在开发环境中,选择任一ODP.NET,编译工程文件。

     

        在部署(运行)环境中:

        1. 创建一个文件夹,比如“C:\TMP”,将Oracle.Dataaccess.dll复制到该文件夹中。比如部署环境中的oralce client是9i,就把9.2.0.700版本的Oracle.Dataaccess.dll复制过来,依此类推。

        2. 添加一个环境变量“DEVPATH”,值为“C:\TMP”

        3. 打开C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config文件,将<runtime/>替换为

    <runtime>

      <developmentMode developerInstallation="true"/>

    </runtime>

     

        这种方法,是微软为了便于在开发过程中测试DLL而提供的机制,不推荐在生产环境中使用。详细介绍参见:http://blogs.msdn.com/b/junfeng/archive/2005/12/13/503059.aspx。ODP.NET 9,10,11的 name, culture, publicKeyToken是相同的,所以可以使用这种方法。

     

        修改machine.config文件,会产生一些副作用,比如其他基于.NET的程序运行异常。可以只修改exe配置文件中的<runtime/>,而非全局配置文件,避免影响其他程序。

  • 相关阅读:
    php date函数
    jquery AJAX教程
    Magento 批量修改订单状态为 Completed
    php 复习笔记 乱
    正则替换 php js
    magento订单状态修改
    换个心态继续走IT路
    神奇的HTML5,效果超炫,用Google chrome浏览
    PHP $_SERVER参数
    第六章 线程基础
  • 原文地址:https://www.cnblogs.com/ols/p/2143338.html
Copyright © 2011-2022 走看看