Is it possible to sign or otherwise protect a managed (.NET) DLL from being modified? I'm looking for possible solutions that would detect changes to DLLs and prevent them from being loaded by the .NET runtime. I don't mind if someone can load the DLL in Reflector or ILSpy - as long as a modified DLL cannot execute, I'd be fine with that.
I did some searches on this topic, but most articles / discussions recommend obfuscation which is not what I'm looking for. I thought digitally signing the DLL would accomplish this but a chat with my colleagues made me doubt that and I only have superficial knowledge in this area.
Any advice would be appreciated.