In .net, AIUI int is just syntactic sugar for System.Int32, which is a struct.
csharp> typeof(System.Int32).IsPrimitive
There is an excellent explanation in Dixin's blog article Understanding .NET Primitive Types.
The answer can be found in the generated IL. His following question is actually the answer to your question:
So what is the relationship among int32 (IL), int (C#) and System.Int32 (C#)?
In the IL can be found that the int inside the struct is:
.field assembly int32 m_value
So that int32 actually exists outside .NET and is the actual representation of the .NET int in assembly.