Can there be changes in .NET assemblies?

I need to provide a 32-bit CRC (Cyclic Redundancy Check) of all the assemblies that are stored (for release management purposes), and then they can be compared with the assemblies present in the system at a later date (to check that the release was not damaged by which in any way).

I have no problem calculating the CRC of the assemblies themselves, my question is this:

Are .NET assemblies assembled? That is, is the actual binary content of the assembly ever changed (for any reason) after it is installed on the target system? If this happens, then the CRC will also change.

Please note that I mean only assemblies that are packaged with my software, and not standard system assemblies that are not verified.

Greetings

+5
source share
4 answers

You reinvent the wheel; strong naming already does it. Eliminating the assembly so that it has the correct CRC32 is pretty simple. Breaking a strong name is not, it is cryptographically safe.

+6
source

If you do not update assemblies (overwrite them), they will never change.

+4
source

, . , ?

0

I remember reading somewhere that the .net optimizer searches and goes through any assemblies in order to "optimize" them? I heard that I did it after installation - I never looked at it myself, although - id, maybe they probably won't change, but I'm not sure if something can really guarantee it

try and see! good luck

-1
source

All Articles