我想看看是否注册免费COM是我们可以在我们的web应用程序中使用,以缓解遗留COM组件的部署。然而,在我开始研究诸如Interop情况下使用它之前,我无法得到一个简单的测试工作。这是我所做的: -注册免费COM不为我工作
1)创建一个新的VB ActiveX DLL项目。除了打开二进制兼容性外,将所有选项保留为默认值。添加了一个名为“SayHello”的简单方法。
2)在Vs.NET 2008(SP1)中创建一个新的c#控制台应用程序。将CPU设置为x86,并添加对我的COM DLL的引用。
3)打开“孤立”的参考
4)从C#控制台应用程序调用我的SayHello方法 - 所有的作品。
5)手动取消注册COM DLL与regsvr32/u
6)尝试再次运行控制台应用程序。该应用程序因COM错误而失败,因为它找不到COM注册信息。我可以确认清单存在(粘贴在下面)
我在Vista上运行这个,64位,如果这有所作为。
感谢您的指点。
<?xml version="1.0" encoding="utf-8"?>
<assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity name="TestRegFreeCom.exe" version="1.0.0.0" processorArchitecture="x86" type="win32" />
<file name="TestProject.dll" asmv2:size="20480">
<hash xmlns="urn:schemas-microsoft-com:asm.v2">
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>uIK8e9FAnH4SQwk6PRfrjdZHWuw=</dsig:DigestValue>
</hash>
<typelib tlbid="{08dcd362-63a1-424a-8c4e-e72dcda2a8e2}" version="1.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
<comClass clsid="{c540c43a-4d80-4c87-9091-dff664df0021}" tlbid="{08dcd362-63a1-424a-8c4e-e72dcda2a8e2}" progid="TestProject.Testy" />
</file>
</assembly>