• Answers
  • Web
Personalize Yedda, (And make Danny Happy)
People ask & answer about almost everything. Tell us what you're interested in... So we can personalize Yedda especially for you
I'm interested in:

I have a problem in c# i got this...

i have a problem in c# i got this error: COM Interop registration failed. Could not find a type library for assembly 'SmarTeam.Std.Bom'. but SmarTeam.Std.Bom is not a com object or a type library and doesn;t have no refrence to no com object or tlb. i run the commend regasm /codebase /tlb /verbose and i got this message: RegAsm warning: Registering an unsigned assembly with /codebase can cause your a ssembly to interfere with other applications that may be installed on the same c omputer. The /codebase switch is intended to be used only with signed assemblies . Please give your assembly a strong name and re-register it. how can i solve this problem


Share Send to a friend Watch Report
 
 

3 Posted Answers
Order by

 
207 helpful answers

They're coming to take me away, Ha-haaa!

Advanced .NET Debugging Blog

My personal blog

You have two problems, or actually, one problem and one half problem (since its a warning from the regasm utility).

The first, "COM Interop Registration failed", is caused due to the fact that in your project settings you have set the "Register for COM Interop" flag which means that upon finishing a build, Visual Studio will try to register this assembly for COM interop. This sometimes fails, usually when you have certain types and interfaces that are not compatible with COM. So, to resolve this, either turn off the "Register for COM Interop" option in your project settings or make sure you have all the necessery attributes that enables a .NET object to be access through COM.

The second problem, with regasm, is not really a problem, but only a warning. When using the /codebase parameter regasm will register your assembly in the registry for COM interop, but will add another entry in the registry near the ProgId and CLSID of the object called codebase which will tell .NET to load that specific dll from the place it was registered.

One of the things .NET comes to resolve is what some people refer to as DLL Hell, which is creates a coupling between the registration of a certain COM object to a specific version. Since .NET supports versioning, and if you want to support side-by-side deployment you can make sure to use an exact version of your DLL by signing it and placing it in the Global Assembly Cache (GAC). When you'll run regasm (this time WITHOUT /codebase) it will not add the codebase entry in the registry but will specify the exact version of the .NET object. When the application will try to load it, it will search for that exact version in the registry, helping you a bit to decouple .NET assembly versions to specific locations. 

I've written a blog post in my blog about how .NET loads an assembly, this will make it clearer how .NET loads an assembly when accessed from COM after it resolves what assembly to load from the registry. 

Posted 2006-06-15T09:50:59Z
 
26 helpful answers

Ordinary People Discovering Extraordinary Abilities

Not So Smart Builder

You should try changing the name to: Enovia.Std.Bom. Maybe this will work.

Posted 2006-06-15T12:16:05Z
Helpful?(2)
Rated as Best Answer
 
30 helpful answers

Bored with knowledge? Try golf

The previous answer from dudushmaya is totally wrong.

Its a naming convention issue.

The appropriate name is:

Enovia-Smarteam.NonStd.Makes.BomBom

For more explainations, refer to this.

 

Posted 2006-06-15T15:12:47Z

Sign in to participate

Got an answer for talh? Would you like to comment on the posted answers, or vote for the one which you think is the best?

Sign up for a free account, or sign in (if you're already a member).

Explore Related Posts in Forums

C-C-C-C-Combo

C-C-C-C-Combo C-C-C-C-C-ComboC-C-C-C-C-C-C-Combo! This post... -C-C-C-C-Combo I STILL BELIEVE IN BLUEQuote: C-C-C-C-C-...

C-c-c-c-cold

... It all counts in your favor... NixieHi Gypsy, I would GLADLY trade the hot flashes for feeling c -c-c-cold... I am well past menopause, but I still get these horrid hot flashes... (and heat I do notice that after I lost 80 pounds, I now feel colder during the fall and winter months. I also think it has something...

6/11 - C C Penny pitch. C C Sox win. C C Sabathia die like a dog.

The Sox lead the Yankees 7-0 on the season for the first time since 1912, when: the Titanic sank; Fenway Park opened; France... legalized sodomy ; and some German synthesized MDMA (aka ecstasy). So let's sodomize these Titanic-salaried bastards... Lead pipe these sumbitches. This post has been edited by JohnnyTheBone : Jun 11 2009, 09:14 AMCan we title this: Battle of...
» More...
Powered by
Feed - Subscribe to changes to this Q&A Blog
ADVERTISEMENT
  • Answers
  • Web
Copyright © 2006-2009, Yedda Inc. and respective copyright owners · CC License