I have developed my first .NET component using System.EnterpriseServices, System.Reflection, ServicedComponent ... etc (you know), this is working very good. When I add a reference to this assembly (.DLL) since my ASP.NET I don't have any problem.
For publishing in COM+, I have used sn.xe, gacutil.exe and RegSvcs.exe like everyone knows about.
Everything was right, except when I used RegSvcs.exe appear this message:
------(MESSAGE)------
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
WARNING: The assembly does not declare an ApplicationAccessControl Attribute. Application security will be enabled by default.
Installed Assembly:
Assembly: C:\VSProjects\clsProbe\bin\clsProbe.dll
Application: MathFunctions
TypeLib: C:\VSProjects\clsProbe\bin\clsProbe.tlb
-----(Note the WARNING: ApplicationAccessControl)-----
Well, I have probed this component using VB 6.0 and this works very well, but I get a problem in the following situation:
I'm working in VS.NET 2003's IDE, I have a new ASP.NET (VB) where I want to use that COM+ component, I add a references to that component searching in the tab named COM (Remember: NET|COM|Projects), in that moment I have the problem, an error message is showed:
"A reference to 'ComponentName' could not be added Converting the type library to a .NET assembly failed. Type library ComponentName was exported from a CLR assembly and can not be re-imported as a CLR assembly."
My doubts are:
When a develop a .NET component for COM+,
1. How can I use it in a Webform?
2. When I using System.EnterpriseServices (using transactions), after I publish it in COM+, is not necessary to add a reference from COM+?, in other words, like .NET Framework use that classes for transactions, .NET Framework will do COM+'s work? and for that is I have to add my .DLL assebly directly?.
Thanks in advance,
l-touched
inline
>I have developed my first .NET component using System.EnterpriseServices, System.Reflection, ServicedComponent ... etc (you know), this is working very good. When I add a reference to this assembly (.DLL) since my ASP.NET I don't have any problem.
>
[quoted text clipped - 11 lines]
> TypeLib: C:\VSProjects\clsProbe\bin\clsProbe.tlb
>-----(Note the WARNING: ApplicationAccessControl)-----
You should either use the attribute, or manually verify the COM+
security settings are correct following deployment.
>Well, I have probed this component using VB 6.0 and this works very well, but I get a problem in the following situation:
>
>I'm working in VS.NET 2003's IDE, I have a new ASP.NET (VB) where I want to use that COM+ component, I add a references to that component searching in the tab named COM (Remember: NET|COM|Projects), in that moment I have the problem, an error message is showed:
>
>"A reference to 'ComponentName' could not be added Converting the type library to a .NET assembly failed. Type library ComponentName was exported from a CLR assembly and can not be re-imported as a CLR assembly."
Add this reference through the .NET tab, not COM tab.
>My doubts are:
>
>When a develop a .NET component for COM+,
>1. How can I use it in a Webform?
See my asnwer above
>2. When I using System.EnterpriseServices (using transactions), after I publish it in COM+, is not necessary to add a reference from COM+?, in other words, like .NET Framework use that classes for transactions, .NET Framework will do COM+'s work? and for that is I have to add my .DLL assebly directly?.
Not unless the client code inself requires that .
Slava Gurevich
l-touched - 21 Nov 2003 16:06 GMT
Thank you very much Mr. Gurevich, just now I understand better about
----- Slava Gurevich wrote: ----
inlin
On Thu, 20 Nov 2003 10:41:14 -0800, l-touche
<anonymous@discussions.microsoft.com> wrote
>I have developed my first .NET component using System.EnterpriseServices, System.Reflection, ServicedComponent ... etc (you know), this is working very good. When I add a reference to this assembly (.DLL) since my ASP.NET I don't have any problem
>>For publishing in COM+, I have used sn.xe, gacutil.exe and RegSvcs.exe like everyone knows about
>>Everything was right, except when I used RegSvcs.exe appear this message
>>------(MESSAGE)-----
>Copyright (C) Microsoft Corporation 1998-2002. All rights reserved
>>WARNING: The assembly does not declare an ApplicationAccessControl Attribute. Application security will be enabled by default
>Installed Assembly
> Assembly: C:\VSProjects\clsProbe\bin\clsProbe.dl
> Application: MathFunction
> TypeLib: C:\VSProjects\clsProbe\bin\clsProbe.tl
>-----(Note the WARNING: ApplicationAccessControl)----
You should either use the attribute, or manually verify the COM
security settings are correct following deployment
>Well, I have probed this component using VB 6.0 and this works very well, but I get a problem in the following situation
>>I'm working in VS.NET 2003's IDE, I have a new ASP.NET (VB) where I want to use that COM+ component, I add a references to that component searching in the tab named COM (Remember: NET|COM|Projects), in that moment I have the problem, an error message is showed
>>"A reference to 'ComponentName' could not be added Converting the type library to a .NET assembly failed. Type library ComponentName was exported from a CLR assembly and can not be re-imported as a CLR assembly.
Add this reference through the .NET tab, not COM tab.
>My doubts are
>>When a develop a .NET component for COM+
>1. How can I use it in a Webform
See my asnwer abov
>2. When I using System.EnterpriseServices (using transactions), after I publish it in COM+, is not necessary to add a reference from COM+?, in other words, like .NET Framework use that classes for transactions, .NET Framework will do COM+'s work? and for that is I have to add my .DLL assebly directly?
Not unless the client code inself requires that
Slava Gurevic