Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / New Users / January 2006

Tip: Looking for answers? Try searching our database.

Why can't I register a serviced component in the COM+ Catalog

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Paul Custance - 25 Jan 2006 21:48 GMT
I am am trying to register my DLL in the COM+ Catalog. To do this I am
taking the manual approach and using the regsvcs.exe tool provided with the
.net framework 2005. I have strong signed the assemblies using Visual Studio
2005.

However when I regiser the dll it comes back that I have derived classes
found in the assembly and won't register, saying that classes must be
public, concrete and have a default constructor. Why is this happening? As
far as I'm aware I haven't got any derived classes apart from the serviced
component which is required. Below is my code for my class:

using System;
using System.Data;
using System.Data.SqlClient;
using System.EnterpriseServices;

namespace StepByStep7_1
{
    public class NorthwindSC : ServicedComponent
   {

       private SqlConnection sqlcnn;
       private SqlDataAdapter sqlda;
       private DataSet ds;

       public NorthwindSC()
       {
           // Create a connection to the
           // Northwind SQL Server database
           sqlcnn = new SqlConnection("data source=(local);initial
catalog=Northwind User ID = SAassword = *********");
       }

       // This method executes a SELECT query and
       // returns the results in a DataSet object
       public DataSet ExecuteQuery(string strQuery)
       {
           // Create a SqlDataAdapter object to talk to the database
           sqlda = new SqlDataAdapter(strQuery, sqlcnn);

           // Create a DataSet object to hold the results
           ds = new DataSet();

           // Fill the DataSet object
           sqlda.Fill(ds, "Results");
           return ds;
       }

       // This method updates the database with the changes in a DataSet
object
       public int UpdateData(DataSet ds)
       {
               // Update the database and return the result
               SqlCommandBuilder sqlcb = new SqlCommandBuilder(sqlda);
               return sqlda.Update(ds.Tables["Results"]);
       }
   }
}

Many thanks for your help in advance

Paul
Michael Nemtsev - 28 Jan 2006 20:32 GMT
Hello Paul,

You know, it's a common problem for VS 2005.
This question was risen several times, but I couldn't find an answer.

Try to build a simple Serviced class in VS 2003, register it and then convert
solution to .net 2.0
It works for me in some cases

PC> I am am trying to register my DLL in the COM+ Catalog. To do this I
PC> am taking the manual approach and using the regsvcs.exe tool
PC> provided with the .net framework 2005. I have strong signed the
PC> assemblies using Visual Studio 2005.

---
WBR,
Michael  Nemtsev :: blog: http://spaces.msn.com/members/laflour

"At times one remains faithful to a cause only because its opponents do not
cease to be insipid." (c) Friedrich Nietzsche
Willy Denoyette [MVP] - 31 Jan 2006 20:37 GMT
Remove this:
[assembly: ComVisible(false)]
from the assemblyinfo.cs file.
or annotate your exported classes with ComVisible(true).

VS2005 add this line in new and updated projects to overrule the default
ComVisible (true) attribute, I really don't know the rationale behind this
change.

Willy.

|I am am trying to register my DLL in the COM+ Catalog. To do this I am
| taking the manual approach and using the regsvcs.exe tool provided with the
[quoted text clipped - 58 lines]
|
| Paul

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.