none
COM+ 問題 RRS feed

  • 問題

  • 請問各位先進

    小弟寫了一簡單的COM+(C#2003, OS:XP)如下

    分別使用2003跟2005的命令提示字元 註冊regsvcs

     

    using System; 
    using System.Runtime.InteropServices; 
    using System.IO; 
    using System.Text; 
    using System.Data.SqlClient; 
    using System.Windows.Forms;
    using System.EnterpriseServices;
    using System.Messaging;

    namespace ComPlusLib
    {
     [Guid("694C1820-04B6-4988-928F-FD858B95C880")]

     [ InterfaceTypeAttribute( ComInterfaceType.InterfaceIsDual ) ]
      public interface DBCOM_Interface 
     { 
      [DispId(1)] 
      void Init(string userid ,out string password); 
     } 
      [Guid("9E5E5FB2-219D-4ee7-AB27-E4DBED8E123E"), 
     ClassInterface(ClassInterfaceType.None)]
     [SecureMethod]
     [ComponentAccessControl()]
     [Transaction(TransactionOption.RequiresNew)]
      public class DBCOM_Class : ServicedComponent, DBCOM_Interface
     { 
      public DBCOM_Class() 
      { 
      } 

      [AutoComplete]
      public void Init(string userid ,out string password) 
      { 

       string tmp = userid;
          password = tmp;
       userid = password;

       MessageQueue.Create(@".\private$\test");
      } 

      
     } 
    }

     

    2003會出現沒有類別介面的錯誤

    另外我將此dll檔拿到Windows 2003使用用2005提示字元註冊後

    再使用c#2005新增別專案 ,然後加入參考COM選取而非直接參考dll

    會發生錯誤如下

    ActiveX型別程式庫  *.tlb 是從.Net 組件匯出,且無法當做參考加入

    請改為加入.Net 組件參考

     

    請各位先進指導一下

    感激不盡

     

    2006年11月21日 上午 11:25