Are the automatically generated GUIDs for C# Types consistent? For example, if I get a GUID for my interface, IFoo (typeof(IFoo).GUID
), the first time a run the program, will I get that same GUID everytime I run the program?
I have tested it locally on my machine, and it seems to always be the same, but I'm not sure if I can rely on it always being the same across machines.
See: System.Type.GUID stability. It appears that the current implementation of the method relies an internal call that is implemented by the CLR itself. Unless Microsoft clarifies the contracts for the auto-generated Guids (the Type.GUID
documentation is currently silent on this issue), I wouldn't rely on the observed behaviour. To be sure about consistency, I recommend explicitly decorating the types in question with the GuidAttribute
.
It's not documented so i wouldn't completly rely on them, said that the implementation may or may not change in the future.
来源:https://stackoverflow.com/questions/5649883/are-automatically-generated-guids-for-types-in-net-consistent