项目有点大,窗口比较多,考虑把窗口做成一个个的DLL,方便开发和以后升级,做好一个DLL就接那过来测试,或者升级,很方便,请问怎么把一个个winform窗口编译成DLL文件,如何把他们在装起来运行呢,求实例

解决方案 »

  1.   

    标题好吸引整项目发布生成DLL还OK!单个单窗体生成DLL???期待有可能?
      

  2.   

    当然 业务层 和 实体层,数据层 抽出来 单独类库,生成DLL还是可以(也就解决方案-生成DLL)至于吧 单个窗体抽出。。这个?
      

  3.   

    你這個想法我很久前也想過,現在隻是一點我無法解決,是新的DLL的引用問題(主要是我不想讓客戶端程式更新,所有的DLL文件保存在DB中,如果授權後,客戶端自動從DB中下載DLL,菜單也是動態從DB中加載。
      

  4.   

    每一个窗口编译成DLL调用不行吗?
      

  5.   

    可以的,窗体也是类,当然可也编译成DLL
    找到VS命令提示符C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>csc /target:library /out:E:\cftea.dll
     E:\cftea.cs
      

  6.   

    网上搜下CS 编译DLL
      

  7.   

    编译后如何调用呢,比如我以前做好一个窗体,在主窗体中
    from1 frm = new from1();
    frm.show();
    现在编译成dll后如何调用?一样的现实吗
      

  8.   

    我搜索了这个帖子也在讨论,只不过没有具体的方法http://topic.csdn.net/t/20041009/00/3435524.html。不是窗体多少的问题,是客户要求的问题
      

  9.   


    如果不怕麻烦,可以把每一个窗口编译成一个DLL。(1) 只把想输出的FORM设置为包含,其它排除。
    (2) 项目属性,改输出:应用程序 --> 类库  (各个类库命名空间最好一样。)
    (3) 项目中加DLL类库的引用。
    (4) 这时,FORM用法和在一个项目中一样。
      

  10.   

    大概懂了,还有一个问题,比如我form1调用form2,正常是在form1中from2.show(),编译成form2.dll后,怎么调用,先using form2,然后在from2.show()吗
      

  11.   

    还是定义类吧
    把类生成dll
    窗体的改动很小的,
      

  12.   


    如果命名空间变了,加上  using 命名空间名 (不一定是form2)如果命名空间相同,项目中加DLL类库的引用后,代码完全一样。
      

  13.   

    先编译好form2.dll,然后在form1项目中添加对你的form2.dll 得引用,然后Using 你form2.dll使用得命名空间