What you are doing is the right thing. Probably you are just testing it incorrectly. You should open it with a program that locks the file when it’s open. Notepad wouldn’t do. You can run your application twice to see:
static void Main(string[] args)
{
// Make sure test.txt exists before running. Run this app twice to see.
File.Open("test.txt", FileMode.Open, FileAccess.Read, FileShare.None);
Console.ReadKey();
}