'System.Guid' 不是属性 class
'System.Guid' is not an attribute class
我正在使用 Visual Studio 2013 基于 .net 4.5 创建一个新的 dll 应用程序。
尝试在我的 class 上定义 Guid
属性时,如下所示:
[Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
编译器报错
'System.Guid' is not an attribute class.
知道缺少什么吗?
您必须添加对 System.Runtime.InteropServices
的引用,如下所示:
using System.Runtime.InteropServices;
或说出 class 的全名:
[System.Runtime.InteropServices.Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
或使用带后缀 Attribute
的 class 名称:
[GuidAttribute("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
或使用带后缀 Attribute
的完整 class 名称:
[System.Runtime.InteropServices.GuidAttribute("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
您可以在 MSDN article
上找到更多信息
您应该包含正确的命名空间或 using
语句。如果您不这样做,它将匹配 System.Guid
(instead of System.Runtime.InteropServices.GuidAttribute
,为方便起见,Attribute
部分被删除),这确实不是一个属性。这有点令人困惑,但确实如此...
此代码将带您到达那里:
[System.Runtime.InteropServices.Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
我正在使用 Visual Studio 2013 基于 .net 4.5 创建一个新的 dll 应用程序。
尝试在我的 class 上定义 Guid
属性时,如下所示:
[Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
编译器报错
'System.Guid' is not an attribute class.
知道缺少什么吗?
您必须添加对 System.Runtime.InteropServices
的引用,如下所示:
using System.Runtime.InteropServices;
或说出 class 的全名:
[System.Runtime.InteropServices.Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
或使用带后缀 Attribute
的 class 名称:
[GuidAttribute("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
或使用带后缀 Attribute
的完整 class 名称:
[System.Runtime.InteropServices.GuidAttribute("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]
您可以在 MSDN article
上找到更多信息您应该包含正确的命名空间或 using
语句。如果您不这样做,它将匹配 System.Guid
(instead of System.Runtime.InteropServices.GuidAttribute
,为方便起见,Attribute
部分被删除),这确实不是一个属性。这有点令人困惑,但确实如此...
此代码将带您到达那里:
[System.Runtime.InteropServices.Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")]