老板要求将B/S架构的ERP项目,网页按模块编译成为多个DLL或exe文件,以方便随意组合模块!就是说客户买了哪些,我们就提供哪些DLL。我想,除非将项目作成多个网站,不能实现这样的咚咚。比如说用户控件,它必须得放在同一网站中才能用吧?另外,不同的DLL之间调用Location.url这些也不用相对路径!我一点思路都没有,各位能提供意见吗?我想在设计的是编译后全部在bin下,生成一个dll的!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    我想,除非将项目作成多个网站,不能实现这样的咚咚。比如说用户控件,它必须得放在同一网站中才能用吧?另外,不同的DLL之间调用Location.url这些也不用相对路径!
    这个老实说,我看不大懂lz的意思
    老板要求将B/S架构的ERP项目,网页按模块编译成为多个DLL或exe文件,以方便随意组合模块!就是说客户买了哪些,我们就提供哪些DLL。这个是可以实现的
      

  2.   

    一个大项目都是由很多小项目组成的,每个小项目封装成dll
      

  3.   

    vs2005有三种编译方式,可以将aspx和ascx完全从文本中去掉而编译进dll,也可以让每一个aspx、每一个ascx的独立编译为dll。后者就是你的老板需要的做法。
      

  4.   

    手动编译吧,自己把一个功能写在Method.cs
    csc Method.cs
    生成Method.dll
      

  5.   

    不需要分多个网站吧,好象Community Server那样,一个核心网站包括帐号系统等核心功能及扩展接口,然后每个模块都是好象一个插件那样,那就可以了。插件不是独立为网站,可以仅仅是一些dll,但引用核心网站的dll肯定没问题。
      

  6.   

    不是一个网站,这个项目前提是“B/S架构的ERP项目”!不可想象多有企业将事关自己商业机密的东西共享地放在一个外人的internet服务器上,而且与别的公司共用一个数据库?!
      

  7.   

    为企业开发定制办公用的综合internet软件,要比一个站长面向公众的通俗网站功能有趣的多,也更专业。
      

  8.   

    还可以用XML作一些配置文件,便于项目进行配置。
      

  9.   

    这样应该可以吧,一张网页不就是一串代码,dll也是,把网页中的部分有目的的代码写进dll,OK
      

  10.   

    对于vs2005(其实应该说是asp.net2.0),可以将aspx或者ascx单独编译为一个设计文件与一个dll文件。这样,你可以将这两个文件拷贝到其它应用中,从而达到“共享、替换”的目的。例如,一个叫做"showProduct.ascx"的文件,你可以做很多版本——眼镜、药品、鞋、电脑等,然后对不同的用户用不同的编译版本替换同一个的模块,而不用部署全部。当然部署全部模块也不无道理,你可以使用配置文件决定动态装载哪个子类。缺点就是用户实际上又有了全部功能系列的程序。
      

  11.   

    2.0 可以发布为“单页程序集”,也可以发布为“不可更新的dll站点”(不需要预编译页面,大大提高启动速度),这些都是非常好用的革新。
      

  12.   

    就全球最大的CRM軟件siebel而言,完全可以把所有服務編譯成一個整體,再分模塊來出售
      

  13.   

    这是个好思路~~
    Mark学习~!呵呵
      

  14.   

    Q: 03下要怎么做
    ——————————————————————————————————————
    A: 只要是人写的程序,任何程序解耦,程序当中没有什么不可能的,不同只是自己发明还是共享现成的。在03下由于aspx和ascx的所有 code behind 代码都编译到一个dll中无法拆开,那么把整个dll拷贝到其他工程里去就行了。推论一下,要想单独编译一个aspx或者ascx,就只能把它单独作为一个网站工程来设计。
      

  15.   

    可以考虑用web service技术来封装模块
      

  16.   

    不过我在03下并没有这样做过!呵呵。因此我不清楚两个网站的dll是否命名空间可以完全区分所有代码,例如对Global对象的处理。在03中还有一种方法——其实没有必要啦。知道一下有好处,就是在页面上任何地方那个故意写上一个错误,例如:<script runat=server>
    adfadfas
    </script>这样页面编译时不会出现任何错误,但是运行时会出错,并且在错误页(如果你配置asp.net现实系统默认的错误页面,并且页面上配置了现实调试信息的参数)上除了显示有一个错误堆栈、跟踪打印信息等之外,还有一个按钮:“打印错误源”,按这个按钮可以打印所有由编译器产生的源代码!可以将这个源代码拷贝下来,去掉那一行错误“adfadfas”,单独与code behind类放在一个类库工程中编译,这样就有了这个页面(aspx或者ascx)的dll类库形式的版本,将来可以通过 new 一个对象实例的方法得到一个 page 或者 userControl 类型的对象。这样做的缺点就是不能再随时修改页面设计了。
      

  17.   

    具体做法就是 打开Microsoft Visual Studio .NET 2003,
    新建 项目Visual Studio空白解决方案,再建几个 其他项目/企业级模块项目/Visual C#生成块 
    把你的模块一个个分别建一个就可以啊,再做个常见的 Visual C#项目/asp.net web应用程序需要那些功能去调用Visual C#生成块下的dll即可 
    \Microsoft Visual Studio .NET 2003\Enterprise Samples\Duwamish 7.0 CS
    把这个安装了  你就明白了同一个项目分模块的道理。
      

  18.   

    其实你去找一个Community Server 1.1看看,就知道该怎么做了。CS1.1就是基于ASP.NET 1.x的。如果你能用ASP.NET 2.0,找一个CS2.1看看也行。Community Server已经实现了所谓的插件功能,具有良好的扩展性,通过它自己的config文件配置加载哪些插件,配置方式类似加载HttpModule。
      

  19.   


    这个本来就是一个很简单的东西啊,难道楼主没有开发过CS模式的软件?先封装成DLL然后以网页模式调用即可
      

  20.   

    在用VS2005发布网站项目时,存在生成bin目录下的.dll文件名随机生成的问题,现在MS提供了这方面的插件,可以经过简单设置生成自定义的文件名(.dll):Web Deployment Projects with Visual Studio 2005
    下载地址:ttp://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi
    MSDN说明:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/web_deployment_projects.asp简单操作如下:
    1.下载后直接安装,安装完后打开VS2005;
    2.在[生成]->[发布网站]下面会多出一项[Add Web Deployment Project],也可在要发布的网站项目上点右键.直接选取[Add Web Deployment Project],弹出属性对话框后.设置好指定名称和存放目录添加后,可以看到当前解决方案中多了一项,有很多其它属性,就自己去设置了;
    3.在刚添加的方案中点右键->[生成],就会生成相应文件和目录了
      

  21.   

    听这么一说,真的IT这东东竞争和发展怎能一个‘疯’了得呀!
    学的还没用的快呀!
    只能见什么学什么了!DLL没弄明白,有什么URL影射了什么的!
      

  22.   

    这个完全可以实现啊,构件思想,我们公司就是用的构件开发,一个功能就是一个dll买什么给什么,然后在一个集成环境集成进去,这个主要是设计时要规划好。
      

  23.   

    不对吧,如果你是coder这个事情不应该你考虑....如果你是项目组长,这个事情你早应该分解模块,交给coder了啊......如果你就一个人既是coder又是组长,你就是牛人了.....
    早在asp时代就有用VB6进行服务端组件开发的了....那时需要在服务器上注册组件,很麻烦...
    现在.NET不需要了,拷贝就可以了,因此,基于WEB的ASP.NET组件是一个发展方向.....
    只是我不知道生成EXE干什么?
    另外,组件分客户端和服务器端,客户端用WIN32 COM的ACTIVEX,不要用.NET,后者要授权,加强WIN32FORM与ASP.NET通讯的练习。
    祝你早日编写出C+B/S的混合程序来.....
      

  24.   

    另外补充:VS2003的服务器组件的DLL生成用他的WINFORM组件来生成不是WEBFORM组件......切记
    你开发一个服务器组件,就是开发一个本地WIN32DLL程序,然后在WEB工程中引用他.....切记
      

  25.   

    外行人看热闹。我是学营养的,觉得这挺有意思的就进来看了看。随便给大家点意见,因为大家整天对着电脑,会有一定的辐射,所以请大家多吃点新鲜的蔬菜和水果,多补充点维C。
    if 大家喜欢我 then
       print "谢谢大家哈"
    else
       唉!再见了,各位!end if