Add CLSCompliance.
diff --git a/src/ProtocolBuffers/WireFormat.cs b/src/ProtocolBuffers/WireFormat.cs
index 8f723d5..2b85053 100644
--- a/src/ProtocolBuffers/WireFormat.cs
+++ b/src/ProtocolBuffers/WireFormat.cs
@@ -58,7 +58,7 @@
     internal const int BoolSize = 1;
 #endregion
 
-
+    [CLSCompliant(false)]
     public enum WireType : uint {
       Varint = 0,
       Fixed64 = 1,
@@ -87,10 +87,12 @@
     /// <summary>
     /// Given a tag value, determines the wire type (lower 3 bits).
     /// </summary>
+    [CLSCompliant(false)]
     public static WireType GetTagWireType(uint tag) {
       return (WireType) (tag & TagTypeMask);
     }
 
+    [CLSCompliant(false)]
     public static bool IsEndGroupTag(uint tag) {
       return (WireType)(tag & TagTypeMask) == WireType.EndGroup;
     }
@@ -98,6 +100,7 @@
     /// <summary>
     /// Given a tag value, determines the field number (the upper 29 bits).
     /// </summary>
+    [CLSCompliant(false)]
     public static int GetTagFieldNumber(uint tag) {
       return (int) tag >> TagTypeBits;
     }
@@ -106,10 +109,12 @@
     /// Makes a tag value given a field number and wire type.
     /// TODO(jonskeet): Should we just have a Tag structure?
     /// </summary>
+    [CLSCompliant(false)]
     public static uint MakeTag(int fieldNumber, WireType wireType) {
       return (uint) (fieldNumber << TagTypeBits) | (uint) wireType;
     }
 
+    [CLSCompliant(false)]
     public static uint MakeTag(FieldDescriptor field) {
       return MakeTag(field.FieldNumber, GetWireType(field));
     }
@@ -126,6 +131,7 @@
     /// Converts a field type to its wire type. Done with a switch for the sake
     /// of speed - this is significantly faster than a dictionary lookup.
     /// </summary>
+    [CLSCompliant(false)]
     public static WireType GetWireType(FieldType fieldType) {
       switch (fieldType) {
         case FieldType.Double: