C# официально устарел и отправляется в помойку, т.к. теперь веб-фреймворк Asp .Net Core MVC доступен из Common Lisp.
Можно так писать:
;; Asp.Net MVC controller
(define-dotnet-callable-class (example-controller
(:base-type . ControllerBase))
()
;; Echo the 'Hello' message to client
(:method index :string ((name :string))
(format nil "Hello~:[~;, ~:*~a~]!" name)))
https://github.com/Lovesan/bike/blob/master/examples/aspnet-mvc.lisp
На линуксе работает на SBCL и на CCL, проверял.
Конечно, нужно немного дополнительных телодвижений, т.к. .NET прокси-классы генерируются в рантайме, и поэтому их надо руками указывать в качестве контроллеров, но это в принципе все при желании автоматизируется макросами и другими средствами метапрограммирования.
Также, пока bike не поддерживает аттрибуты, но это наверное добавлю позже.
Ну и с extension-методами пока не придумал что делать, пока их классы надо руками писать.