StreamSocketクラスのパブリックプロパティとメソッドパラメータを持つUWPライブラリを開発しています。しかし、「StreamSocketはCLSに準拠していません」という警告が表示されています。マイクロソフトがCLSに準拠していないそれぞれのアセンブリを残すことを決定し、このライブラリを使用/配布する際に知っておくべき潜在的な問題はありますか?おそらくCLSの不整合は、私のライブラリが他の開発者によって使用される方法を何らかの形で制限するでしょうか?「引数型 'StreamSocket'はCLSに準拠していません」ビルド時の警告
-1
A
答えて
2
まあ、ドキュメントから:あなたはCLS準拠のクラスライブラリを設計する場合、あなたのライブラリーは、プログラミング言語の広い範囲での相互運用性を保証する必要があります
。 CLSに準拠していないバージョンよりも広い範囲の顧客基盤を持つ可能性があります。
[明らかな]答えは、そのことをコード化したときに「プログラミング言語の相互運用性」を念頭に置いていないということです。
I正直に言うと驚いていないよ、MSが正確に厳しさのために知られていない(IE誰ですか?)
はもっとここで読む:https://msdn.microsoft.com/en-us/library/bhc3fa7f.aspx
UPDATE:
私が分かりやすく説明しようとしますこれは少しコメントに基づいています。
CLS(Common Language Specification)は、.NET Framework を対象とする任意の言語がサポートする必要がある機能を定義します。です。したがって、ライブラリを.NET言語で使用する場合にのみ注意してください。
たとえば、CLSには、クラス名とメンバー名が大文字と小文字の区別だけが違うという制限があります。 MySocketという名前のプロパティとmySocketという名前のプロパティを持つことはできません。これは、VB .NETのような大文字と小文字を区別しない言語では重要です。
ライブラリがStreamSocketを公開していますが、これはCLS準拠としてマークされていません。このクラスに上記のサンプルのようなメソッドがあり、VB.NETプロジェクトでライブラリを使用しようとするとどうなりますか?これは、コンパイラが警告するものです。
関連する問題
- 1. 引数型 'FluentNHibernate.Mapping.IProperty'はCLS準拠ではありません
- 2. なぜunsigned intはCLSに準拠していませんか?
- 3. NUnitのテストケース - アレイ属性の引数は、CLSに準拠し
- 4. は、CLSに準拠し組立
- 5. LINQ to SQLクラスはCLS準拠ではありませんか?
- 6. 「属性の引数として配列CLSに準拠していないではありません」私の解決策をコンパイルするとき、私は次のいくつかの警告を取得する警告が、
- 7. 識別子「Submission#0」は、Azure関数ではCLSに準拠していません
- 8. .NETアセンブリのCLS準拠の設定
- 9. MSVC std :: exceptionは標準に準拠していませんか?
- 10. STRING_8はis_equalのSTRING_UCに準拠していません
- 11. オペレータまたはIEquatableインターフェイスCLS準拠ですか?
- 12. これはなぜclsに準拠していないのですか?
- 13. 警告:引数は数値ではありません
- 14. 引数の型「[HKCategoryTypeは?]」期待タイプに準拠しない「ハッシュ可能」
- 15. Scalaのエラー:型の引数はクラス型パラメータの境界に準拠していない
- 16. '(NSObject) - >() - > ViewController()'が期待した型 'classDelegate'に準拠していません
- 17. タイプ 'AnyObject'はプロトコル 'Hashable'に準拠していません
- 18. 未来Anyは未来Eに準拠していません
- 19. Google recaptchaはアクセシビリティに準拠していません
- 20. タイプ 'MainVC'はプロトコル 'UIViewControllerPreviewingDelegate'に準拠していません
- 21. Standard-JsonSchemaはStandard-JsonSchemaに準拠していません
- 22. タイプviewcontrollerはプロトコルuitableviewdatasourceに準拠していません
- 23. なぜ私の機能はCLSに準拠していないのですか?関数「ConnectionNew」の
- 24. メールボックスのアドレス[]がRFC 2822、3.6.2に準拠していません
- 25. clang:警告:コンパイル時に引数が使用されません: '-stdlib = libC++'
- 26. クラスがプロトコルに準拠していません。どうして?
- 27. Argo:タイプがプロトコル 'Decodable'に準拠していません
- 28. 警告アクセスできませんでし無効な引数を
- 29. Chromeの「<domain name>はセキュリティ基準に準拠していません。
- 30. 警告:引数を指定してプログラムを起動できませんでした。警告:Execの形式エラー
Uhm ...しかしCLS準拠はどのようにUWPに関係していますか?コモン・タイプ・システムがUWPの中核であるのとは違います。それは単に多くの予測の1つです。 – IInspectable
@IInspectable UWPの世界では、私の図書館の公開APIにCLSに準拠しないコードを持たせるのは正常です(MSは同じで誰も気にしないと仮定します)。 – Alex
@Alex:わかりません。私は理解していない、なぜ無関係なタイプのシステムとのコンプライアンスが必要なのか、望ましいのか。任意の**非CLS準拠のタイプを任意の.NETプロジェクションに投影することができますので、困惑します。 – IInspectable