无法转换为类型库 - 错误:找不到元素

Jer*_*son 9 .net c# vb.net com

阅读:我正在回答我自己的问题,因为它将来会帮助其他人.

我收到错误:

程序集"C:\ XYZ.dll"无法转换为类型库.处理"XYZ"时,类型库导出器遇到错误.错误:找不到元素.

以下是导致问题的代码:

[Guid("7a4e9867-96a7-43f0-9492-0327b9053853"),
ClassInterface(ClassInterfaceType.None)]
public class TimeSeriesPoint
{
    public string Date { get; set; }
    public float Value { get; set; }
}

[Guid("7a4e9867-96a7-43f0-9492-0327b9053853"),
InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IDataHelper
{
    //RCOMServerLib.IStatConnector Connector { set; }
    string Text { set; }
    void DoCallback();
Run Code Online (Sandbox Code Playgroud)

Jer*_*son 19

我在AssemblyInfo文件中使用了相同的GUID:

[assembly: Guid("7a4e9867-96a7-43f0-9492-0327b9053853")]
Run Code Online (Sandbox Code Playgroud)

您需要使用唯一的GUID来解决错误:

[Guid("C25D485B-F7DE-4F1C-99FE-FFAF5A219B77"),
ClassInterface(ClassInterfaceType.None)]
public class TimeSeriesPoint
{
    public string Date { get; set; }
    public float Value { get; set; }
}

[Guid("FA6F70DD-CDD0-4FF3-94BA-E2B94E68321D"),
InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IDataHelper
{
    //RCOMServerLib.IStatConnector Connector { set; }
    string Text { set; }
    void DoCallback();
Run Code Online (Sandbox Code Playgroud)

要在Visual Studio中获取唯一GUID,请单击工具菜单>创建GUID>选择第四个选项注册表格式 >复制:

在此输入图像描述

参考:http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/a440f695-652c-46d2-bb52-650c6227d3e9