CLS 準拠に違反することが許容されるのはどのような場合ですか?

StackOverflow https://stackoverflow.com/questions/540520

  •  22-08-2019
  •  | 
  •  

質問

どのようなエッジケースが存在するのか疑問に思っていましたが、 共通言語仕様への準拠 許容できる。他の言語からアクセスするつもりがない場合でも、 CLSCompliantAttribute は良いベストプラクティスです。

以下のようなケースに遭遇したことがありますか/知っていますか? ヤグニ ベストプラクティスを上回るのか?

役に立ちましたか?

解決

「[原文ママ] CLS に準拠することに何の意味があるのでしょうか?」

中程度の信頼, クリックワンス, 、共有ネットワーク ドライブからの実行、ドメイン設定のゲスト プロファイルなど。CLS コンプライアンスに違反すると、コードが実行できなくなるセキュリティ状況は数多くあります。

私は個人的に、ユーザーが共有ネットワーク ドライブからアプリケーションを実行しようとしても、ローカル管理者がセキュリティ プロファイルで CLS に準拠していないアプリケーションを強制終了したために実行できない状況をたくさん見てきました。

一般に、この問題を回避する方法は必ずあります。私は上記のコメントとは逆のアプローチを取るつもりですが、なぜそれを破るのでしょうか?あなたはマネージ コードを作成しているのに、なぜ意図的にアプリケーションを制限したいのでしょうか?

API アセンブリまたはコンポーネントを構築している場合は、常にそれらに従う必要があると思います。サードパーティ製コンポーネントが多すぎると、中程度の信頼から実行しようとすると、簡単な方法で壊れているとフラグが立てられてしまいます。場合によっては、これが実行できない唯一の理由です。もう少し時間をかけてガイドラインを遵守していれば、ユーザーはコンポーネントの使用方法を制限されることはなかったでしょう。

他のヒント

さて、「paramsが」属性の配列は時々ちょうどそう誘惑されている(ただし、非準拠)。しかし、私は可能な限りCLS準拠のアプローチを使用してお勧めします。

私は、機能のか、パフォーマンス上の理由から、そのようなものを必要とする従来のレイヤーで作業する場合、それは、製品内部のライブラリのための許容可能だと思います。

しかし、これらの非準拠のインタフェースは、次に高いレベルで再度カプセル化されるべきである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top