Visual Studio引用COM时出现警告的处理办法
According to a comment in the MDSN article about TLBIMP for 2.0, you can't fix this problem w/o running TLBIMP yourself.
It was easy to reproduce your problem using VS. I also reproduced it running TLBIMP manually from a VS comment prompt:
tlbimp c:\WINNT\system32\activeds.tlb /out:interop.activeds.dllThe fix was to use the /silent switch
tlbimp c:\WINNT\system32\activeds.tlb /silent /out:interop.activeds.dllAs pointed out in the comment in the MSDN article, the COM reference becomes a .net assembly reference to the interop assembly you built yourself.
I'm not a VS expert, but I made this work by adding a prebuild to project of:
"$(DevEnvDir)\..\..\SDK\v2.0\bin\tlbimp" c:\WINNT\system32\activeds.tlb /namespace:ActiveDs /silent /out:"$(ProjectDir)interop.activeds.dll"Built it once so I'd have a dll to add a reference with the browse tab. Added a reference to the interop.activeds.dll in my project root and then built again. You may want to do this some other way, like with an external make file via a C++ project. This is more of a POC.
Note a funny difference in MSBUILD vs VS, $(DevEnvDir) has a trailing backslash but MSBUILD does not.
参考:
http://msdn.microsoft.com/en-us/library/tt0cf3sx%28VS.80%29.aspx
作者:Olar Tan
出处:http://www.cnblogs.com/olartan
♪:没有做不到的 只有偷懒而错过的 ♪