2015-01-13 66 views
4

我正在創建一個基於.net 4.5的Visual Studio 2013的新dll應用程序。 當試圖定義上我的課Guid屬性是這樣的:'System.Guid'不是屬性類

[Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")] 

編譯器給我的錯誤

「的System.Guid」不是一個屬性類。

任何想法缺少什麼?

+0

問題的錯誤消息作了明確規定。 '「System.Guid'不是一個屬性類。」'你正在尋找[GuidAttribute](http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.guidattribute%28v=vs。 100%29.aspx) –

回答

4

更多信息,您應該包括正確的命名空間或using聲明。如果你不這樣做,它將匹配System.Guid(而不是System.Runtime.InteropServices.GuidAttribute,爲了我們的方便Attribute部分被刪除),這確實不是一個屬性。這是一個有點混亂,但是真的......

這個代碼將會幫助你:

[System.Runtime.InteropServices.Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")] 
+0

知道的好東西,非常有用。 – codea

5

您必須添加參考System.Runtime.InteropServices,就像這樣:

using System.Runtime.InteropServices; 

或聲明的全名的類:

[System.Runtime.InteropServices.Guid("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")] 

或使用類名後綴Attribute

[GuidAttribute("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")] 

或使用完整的類名與後綴Attribute

[System.Runtime.InteropServices.GuidAttribute("4245366B-0484-4A41-A2E8-C7D9FC3A4ED7")] 

你可以找到MSDN article

+0

非常感謝分享。 – codea