可移植性規則支援跨不同平臺的可移植性。 互作性規則支援與 COM 用戶端的互動。
在本節中
| 規則 | 描述 |
|---|---|
| CA1401:P/Invokes 不應該顯示 | 公用類型中的公用或受保護的方法具有 System.Runtime.InteropServices.DllImportAttribute 屬性(也由 Visual Basic 中的 Declare 關鍵詞實作)。 不應該公開這類方法。 |
| CA1416:驗證平臺相容性 | 在元件上使用平臺相依 API 可讓程式代碼在所有平臺上都不再運作。 |
OutAttribute 的字串參數上使用 |
如果字串是內部化字串,則以值傳遞的字串參數(例如 OutAttribute)可能會使執行時期不穩定。 |
| CA1418:使用有效的平臺字串 | 平臺相容性分析器需要有效的平台名稱和版本。 |
| CA1419:提供一個無參數建構子,與衍生自 'System.Runtime.InteropServices.SafeHandle' 的具體類型的包含類型一樣可見 | 提供與包含型別相同可見性的無參數的建構子,對於從 System.Runtime.InteropServices.SafeHandle 衍生的型別,可以在透過源碼生成的互操作解決方案中提供更好的效能和使用效果。 |
| CA1420:屬性、類型或屬性需要執行階段封送處理 | 若使用需要執行時編組的功能,而執行時編組已停用,則會導致執行時例外。 |
| CA1421:在套用 DisableRuntimeMarshallingAttribute 時,方法會使用運行時間封送處理 | 方法會使用運行時封送處理,但運行時封送處理被明確停用。 |
| CA1422:驗證平臺相容性 | 不建議從可使用該 OS(版本)訪問的呼叫點呼叫已過時的 API。 |