Flymake for csharp is now builtin to csharp-mode.el . There are enhancements that makes using FlyMake with C# modules, nicer.

For those who are unaware, Flymake is built-in to emacs, at least with v22 and later. It periodically compiles an active buffer when the minor mode is enabled, and then flags or highlights lines that cause errors or warnings during the compile as you edit. It is analogous to the red-squigglies you get in Visual Studio, highlighting syntax errors or other compile problems.
You get the flymake-for-csharp stuff when you use csharp-mode, available at Lisp:csharp-mode.el
FlyMake often works “out of the box” with other languages. But C# has a few differences that mean it doesn’t work right out of the box, with FlyMake.
The original flymake-for-csharp came from a Blog Post on MSDN.
It has since been generalized, updated, and made more reliable and flexible.
In May 2011, it was integrated into csharp-mode itself.
Flymake-for-csharp can do syntax-checking builds, on-the-fly, via flymake, using
To use it:
1) use csharp-mode
2) Add this to your csharp-mode-hook function:
(flymake-mode)
3) specify how you want to use flymake, by including a comment at the top of the file, eg:
// flymake: csc.exe /t:module /R:MyAssembly.dll @@FILE@@
For more detail, see the extensive comments in the elisp source code, or view the doc string for csharp-flymake-get-cmdline .
Don’t forget: