I am trying to create a COM object and register it under COM+. Everything seems to go well, but when I look in Component Services and drill down through
Console Root | Component Services | Computers | My Computer | COM+ Applications | TestCom | Components | TestCom.Com.MyCom | Interfaces | _MyCom | Methods
I do not see my method listed.
In my project properties I have signed my assembly.
AssemblyInfo.cs:
[assembly: ApplicationName("TestCom")]
[assembly: ApplicationAccessControl(false)]
[assembly: ApplicationActivation(ActivationOption.Server)]
[assembly: ComVisible(true)]
MyCom.cs
using System; using System.EnterpriseServices;
namespace TestCom.Com
{
[Transaction(TransactionOption.Required)]
public class MyCom : ServicedComponent
{
[AutoComplete]
public int GetIntFromCom()
{
var results = new Random(DateTime.Now.Second).Next();
return results;
}
}
}
I build the dll and in the VS2012 command prompt I run regsvcs TestCom.Com.dll. This results in:
Installed Assembly:
Assembly: c:\TestCom.Com.dll Application: TestCom TypeLib: c:\TestCom.Com.tlb
I must be missing something, I just can't figure out what it is.