How might I check integrity of C# assembly or prevent substitution?

Using a windows player (or web), what might be a good way to verify that my C# assemblies haven’t been modified or replaced? Have any of you done a similar sanity check when the application starts?

An MD5 or SHA checksum seems to be a common standard. You would calculate the checksum after compiling your libraries. When running, recalculate and compare to the expected value.