"[sic] Какой смысл быть совместимым с CLS?"
Среднее доверие , ClickOnce , запускается с общего сетевого диска, гостевых профилей в настройках домена и т. Д. Существует множество ситуаций безопасности, когда ваш код не может работать, если вы нарушите Соответствие CLS.
Я лично видел много ситуаций, когда пользователи пытаются запустить свое приложение с общего сетевого диска и не могут, потому что локальный администратор убил не-CLS-совместимые приложения в профиле безопасности.
В общем, в любом случае обычно есть способы обойти эту проблему. Я бы взял противоположный подход к комментариям выше, зачем ломать его? Вы пишете управляемый код, зачем вам намеренно ограничивать ваше приложение?
Я бы сказал, что если вы создаете сборку или компонент API, вы всегда должны их придерживаться. Слишком много сторонних компонентов выбирают легкий путь и просто помечают их как поврежденные при попытке запуска со средним уровнем доверия. В некоторых случаях это единственная причина, по которой они не могут бежать. Если бы им потребовалось немного больше времени, чтобы придерживаться руководящих принципов, пользователи не были бы ограничены в том, как они могут использовать свой компонент.