2011-05-24 56 views
0

我有CA1017錯誤消息與StyleCop說我需要使它ComVisible錯誤。CA1017與VS2010 ComVisible相關的錯誤StyleCop

Error 18 CA1017 : Microsoft.Design : 
Because 'NationalInstruments.Labview.FPGA.ModelsimCommunicator.dll' exposes externally 
visible types, mark it with ComVisible(false) at the assembly level and then mark all 
types within the assembly that should be exposed to COM clients with ComVisible(true). 

然後,我把代碼[assembly: ComVisible(false)]放在最頂層的命名空間之前。但是,我仍然遇到了與其他錯誤消息一樣的錯誤。

Error 19 The type or namespace name 'ComVisible' could not be found (are you 
missing a using directive or an assembly reference?)  


Error 20 The type or namespace name 'ComVisibleAttribute' could not be found (are 
you missing a using directive or an assembly reference?)  

看來VS2010也不認識這個名字。

enter image description here

這有什麼錯呢?

回答

3

ComVisibleAttributeSystem.Runtime.InteropServices namespace中定義。

所以,你要麼需要:

  1. 其命名綜限定屬性的名稱:

    [assembly: System.Runtime.InteropServices.ComVisible(false)] 
    
  2. 添加using指令源文件導入命名空間的頂部對於該文件:

    using System.Runtime.InteropServices; 
    

將來,您應該能夠讓Visual Studio警告您這些事情。當您看到表示編譯器錯誤的波浪線時,請查找附近的下拉按鈕或按Ctrl + 應出現一個菜單,指出可能的解決方案。在這種情況下,它會建議您採用上面列出的選項1或2,只需點擊一下,就可以爲您執行所有必要的操作。

         

(以上驚人的動畫圖像是從here撕開。)