非共有プロシージャは、 DllImportAttributeで宣言されます。
共通言語ランタイム (CLR) は、この属性とその EntryPoint プロパティを、.NET Framework の外部にあるアンマネージ ダイナミック リンク ライブラリ (DLL) で定義された置換プロシージャを指定すると認識します。 コードが DllImportAttribute が適用されるプロシージャを呼び出すと、共通言語ランタイムは代わりに指定されたアンマネージ プロシージャを呼び出します。
.NET Framework の外部のアンマネージ プラットフォームでは、.NET Framework と同じ方法で非共有プロシージャがサポートされないため、非共有プロシージャを使用してそれらのプロシージャと相互運用することはできません。
エラー ID: BC31529
このエラーを解決するには
プロシージャがクラスまたは構造体の各インスタンスに個別に適用する必要がない場合は、
Sharedとして宣言します。プロシージャを
Sharedできない場合は、このプロシージャの宣言から DllImportAttribute を削除します。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET