version 2.4.1.473
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
index 13696c2..e5c34c8 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestCSharpOptionsProtoFile {

   

     #region Extension registration

@@ -58,7 +58,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class OptionsMessage : pb::GeneratedMessage<OptionsMessage, OptionsMessage.Builder> {

     private OptionsMessage() { }

     private static readonly OptionsMessage defaultInstance = new OptionsMessage().MakeReadOnly();

@@ -200,7 +200,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<OptionsMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
index 934435c..defda1a 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestCustomOptionsProtoFile {

   

     #region Extension registration

@@ -477,14 +477,14 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum MethodOpt1 {

     METHODOPT1_VAL1 = 1,

     METHODOPT1_VAL2 = 2,

   }

   

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum AggregateEnum {

     VALUE = 1,

   }

@@ -494,7 +494,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMessageWithCustomOptions : pb::GeneratedMessage<TestMessageWithCustomOptions, TestMessageWithCustomOptions.Builder> {

     private TestMessageWithCustomOptions() { }

     private static readonly TestMessageWithCustomOptions defaultInstance = new TestMessageWithCustomOptions().MakeReadOnly();

@@ -523,10 +523,10 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public enum AnEnum {

         ANENUM_VAL1 = 1,

         ANENUM_VAL2 = 2,

@@ -619,7 +619,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageWithCustomOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -784,7 +784,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class CustomOptionFooRequest : pb::GeneratedMessage<CustomOptionFooRequest, CustomOptionFooRequest.Builder> {

     private CustomOptionFooRequest() { }

     private static readonly CustomOptionFooRequest defaultInstance = new CustomOptionFooRequest().MakeReadOnly();

@@ -878,7 +878,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionFooRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1015,7 +1015,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class CustomOptionFooResponse : pb::GeneratedMessage<CustomOptionFooResponse, CustomOptionFooResponse.Builder> {

     private CustomOptionFooResponse() { }

     private static readonly CustomOptionFooResponse defaultInstance = new CustomOptionFooResponse().MakeReadOnly();

@@ -1109,7 +1109,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionFooResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1246,7 +1246,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class DummyMessageContainingEnum : pb::GeneratedMessage<DummyMessageContainingEnum, DummyMessageContainingEnum.Builder> {

     private DummyMessageContainingEnum() { }

     private static readonly DummyMessageContainingEnum defaultInstance = new DummyMessageContainingEnum().MakeReadOnly();

@@ -1275,10 +1275,10 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public enum TestEnumType {

         TEST_OPTION_ENUM_TYPE1 = 22,

         TEST_OPTION_ENUM_TYPE2 = -23,

@@ -1355,7 +1355,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<DummyMessageContainingEnum, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1492,7 +1492,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class DummyMessageInvalidAsOptionType : pb::GeneratedMessage<DummyMessageInvalidAsOptionType, DummyMessageInvalidAsOptionType.Builder> {

     private DummyMessageInvalidAsOptionType() { }

     private static readonly DummyMessageInvalidAsOptionType defaultInstance = new DummyMessageInvalidAsOptionType().MakeReadOnly();

@@ -1586,7 +1586,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<DummyMessageInvalidAsOptionType, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1723,7 +1723,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class CustomOptionMinIntegerValues : pb::GeneratedMessage<CustomOptionMinIntegerValues, CustomOptionMinIntegerValues.Builder> {

     private CustomOptionMinIntegerValues() { }

     private static readonly CustomOptionMinIntegerValues defaultInstance = new CustomOptionMinIntegerValues().MakeReadOnly();

@@ -1817,7 +1817,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionMinIntegerValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1954,7 +1954,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class CustomOptionMaxIntegerValues : pb::GeneratedMessage<CustomOptionMaxIntegerValues, CustomOptionMaxIntegerValues.Builder> {

     private CustomOptionMaxIntegerValues() { }

     private static readonly CustomOptionMaxIntegerValues defaultInstance = new CustomOptionMaxIntegerValues().MakeReadOnly();

@@ -2048,7 +2048,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionMaxIntegerValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2185,7 +2185,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class CustomOptionOtherValues : pb::GeneratedMessage<CustomOptionOtherValues, CustomOptionOtherValues.Builder> {

     private CustomOptionOtherValues() { }

     private static readonly CustomOptionOtherValues defaultInstance = new CustomOptionOtherValues().MakeReadOnly();

@@ -2279,7 +2279,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionOtherValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2416,7 +2416,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SettingRealsFromPositiveInts : pb::GeneratedMessage<SettingRealsFromPositiveInts, SettingRealsFromPositiveInts.Builder> {

     private SettingRealsFromPositiveInts() { }

     private static readonly SettingRealsFromPositiveInts defaultInstance = new SettingRealsFromPositiveInts().MakeReadOnly();

@@ -2510,7 +2510,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SettingRealsFromPositiveInts, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2647,7 +2647,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SettingRealsFromNegativeInts : pb::GeneratedMessage<SettingRealsFromNegativeInts, SettingRealsFromNegativeInts.Builder> {

     private SettingRealsFromNegativeInts() { }

     private static readonly SettingRealsFromNegativeInts defaultInstance = new SettingRealsFromNegativeInts().MakeReadOnly();

@@ -2741,7 +2741,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SettingRealsFromNegativeInts, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2878,7 +2878,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ComplexOptionType1 : pb::ExtendableMessage<ComplexOptionType1, ComplexOptionType1.Builder> {

     private ComplexOptionType1() { }

     private static readonly ComplexOptionType1 defaultInstance = new ComplexOptionType1().MakeReadOnly();

@@ -3024,7 +3024,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<ComplexOptionType1, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3243,7 +3243,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ComplexOptionType2 : pb::ExtendableMessage<ComplexOptionType2, ComplexOptionType2.Builder> {

     private ComplexOptionType2() { }

     private static readonly ComplexOptionType2 defaultInstance = new ComplexOptionType2().MakeReadOnly();

@@ -3272,11 +3272,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class ComplexOptionType4 : pb::GeneratedMessage<ComplexOptionType4, ComplexOptionType4.Builder> {

         private ComplexOptionType4() { }

         private static readonly ComplexOptionType4 defaultInstance = new ComplexOptionType4().MakeReadOnly();

@@ -3388,7 +3388,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<ComplexOptionType4, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3676,7 +3676,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<ComplexOptionType2, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3945,7 +3945,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ComplexOptionType3 : pb::GeneratedMessage<ComplexOptionType3, ComplexOptionType3.Builder> {

     private ComplexOptionType3() { }

     private static readonly ComplexOptionType3 defaultInstance = new ComplexOptionType3().MakeReadOnly();

@@ -3974,11 +3974,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class ComplexOptionType5 : pb::GeneratedMessage<ComplexOptionType5, ComplexOptionType5.Builder> {

         private ComplexOptionType5() { }

         private static readonly ComplexOptionType5 defaultInstance = new ComplexOptionType5().MakeReadOnly();

@@ -4088,7 +4088,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<ComplexOptionType5, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -4353,7 +4353,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<ComplexOptionType3, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -4569,7 +4569,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ComplexOpt6 : pb::GeneratedMessage<ComplexOpt6, ComplexOpt6.Builder> {

     private ComplexOpt6() { }

     private static readonly ComplexOpt6 defaultInstance = new ComplexOpt6().MakeReadOnly();

@@ -4679,7 +4679,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<ComplexOpt6, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -4843,7 +4843,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class VariousComplexOptions : pb::GeneratedMessage<VariousComplexOptions, VariousComplexOptions.Builder> {

     private VariousComplexOptions() { }

     private static readonly VariousComplexOptions defaultInstance = new VariousComplexOptions().MakeReadOnly();

@@ -4937,7 +4937,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<VariousComplexOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5074,7 +5074,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class AggregateMessageSet : pb::ExtendableMessage<AggregateMessageSet, AggregateMessageSet.Builder> {

     private AggregateMessageSet() { }

     private static readonly AggregateMessageSet defaultInstance = new AggregateMessageSet().MakeReadOnly();

@@ -5172,7 +5172,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<AggregateMessageSet, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5310,7 +5310,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class AggregateMessageSetElement : pb::GeneratedMessage<AggregateMessageSetElement, AggregateMessageSetElement.Builder> {

     private AggregateMessageSetElement() { }

     private static readonly AggregateMessageSetElement defaultInstance = new AggregateMessageSetElement().MakeReadOnly();

@@ -5422,7 +5422,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<AggregateMessageSetElement, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5587,7 +5587,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class Aggregate : pb::GeneratedMessage<Aggregate, Aggregate.Builder> {

     private Aggregate() { }

     private static readonly Aggregate defaultInstance = new Aggregate().MakeReadOnly();

@@ -5769,7 +5769,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<Aggregate, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6117,7 +6117,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class AggregateMessage : pb::GeneratedMessage<AggregateMessage, AggregateMessage.Builder> {

     private AggregateMessage() { }

     private static readonly AggregateMessage defaultInstance = new AggregateMessage().MakeReadOnly();

@@ -6227,7 +6227,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<AggregateMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
index aba049d..a4b7d44 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestEmbedOptimizeForProtoFile {

   

     #region Extension registration

@@ -62,7 +62,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestEmbedOptimizedForSize : pb::GeneratedMessage<TestEmbedOptimizedForSize, TestEmbedOptimizedForSize.Builder> {

     private TestEmbedOptimizedForSize() { }

     private static readonly TestEmbedOptimizedForSize defaultInstance = new TestEmbedOptimizedForSize().MakeReadOnly();

@@ -197,7 +197,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestEmbedOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs
index 6c5cf36..40658e9 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestEmptyProtoFile {

   

     #region Extension registration

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
index be2d202..5bf0284 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestExtrasIssuesProtoFile {

   

     #region Extension registration

@@ -121,7 +121,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum NegativeEnum {

     FiveBelow = -5,

     MinusOne = -1,

@@ -129,7 +129,7 @@
   }

   

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum DeprecatedEnum {

     one = 1,

   }

@@ -139,7 +139,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class A : pb::GeneratedMessage<A, A.Builder> {

     private A() { }

     private static readonly A defaultInstance = new A().MakeReadOnly();

@@ -249,7 +249,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<A, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -413,7 +413,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class B : pb::GeneratedMessage<B, B.Builder> {

     private B() { }

     private static readonly B defaultInstance = new B().MakeReadOnly();

@@ -523,7 +523,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<B, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -687,7 +687,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class AB : pb::GeneratedMessage<AB, AB.Builder> {

     private AB() { }

     private static readonly AB defaultInstance = new AB().MakeReadOnly();

@@ -797,7 +797,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<AB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -961,7 +961,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class NumberField : pb::GeneratedMessage<NumberField, NumberField.Builder> {

     private NumberField() { }

     private static readonly NumberField defaultInstance = new NumberField().MakeReadOnly();

@@ -1073,7 +1073,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<NumberField, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1239,7 +1239,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class MyMessageAReferenceB : pb::GeneratedMessage<MyMessageAReferenceB, MyMessageAReferenceB.Builder> {

     private MyMessageAReferenceB() { }

     private static readonly MyMessageAReferenceB defaultInstance = new MyMessageAReferenceB().MakeReadOnly();

@@ -1351,7 +1351,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<MyMessageAReferenceB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1540,7 +1540,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class MyMessageBReferenceA : pb::GeneratedMessage<MyMessageBReferenceA, MyMessageBReferenceA.Builder> {

     private MyMessageBReferenceA() { }

     private static readonly MyMessageBReferenceA defaultInstance = new MyMessageBReferenceA().MakeReadOnly();

@@ -1652,7 +1652,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<MyMessageBReferenceA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1841,7 +1841,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class NegativeEnumMessage : pb::GeneratedMessage<NegativeEnumMessage, NegativeEnumMessage.Builder> {

     private NegativeEnumMessage() { }

     private static readonly NegativeEnumMessage defaultInstance = new NegativeEnumMessage().MakeReadOnly();

@@ -2006,7 +2006,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<NegativeEnumMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2272,7 +2272,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class DeprecatedChild : pb::GeneratedMessage<DeprecatedChild, DeprecatedChild.Builder> {

     private DeprecatedChild() { }

     private static readonly DeprecatedChild defaultInstance = new DeprecatedChild().MakeReadOnly();

@@ -2366,7 +2366,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<DeprecatedChild, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2503,7 +2503,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class DeprecatedFieldsMessage : pb::GeneratedMessage<DeprecatedFieldsMessage, DeprecatedFieldsMessage.Builder> {

     private DeprecatedFieldsMessage() { }

     private static readonly DeprecatedFieldsMessage defaultInstance = new DeprecatedFieldsMessage().MakeReadOnly();

@@ -2729,7 +2729,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<DeprecatedFieldsMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasProtoFile.cs
index acc5143..820fe1e 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestExtrasProtoFile {

   

     #region Extension registration

@@ -148,7 +148,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum UnpackedExtensionsForeignEnum {

     FOREIGN_FOO = 4,

     FOREIGN_BAR = 5,

@@ -161,7 +161,7 @@
   [global::System.SerializableAttribute()]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestUnpackedExtensions : pb::ExtendableMessage<TestUnpackedExtensions, TestUnpackedExtensions.Builder> {

     private TestUnpackedExtensions() { }

     private static readonly TestUnpackedExtensions defaultInstance = new TestUnpackedExtensions().MakeReadOnly();

@@ -260,7 +260,7 @@
     [global::System.SerializableAttribute()]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestUnpackedExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
index d1fa863..d886bf3 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestGenericServices {

   

     #region Extension registration

@@ -62,7 +62,7 @@
   #region Services

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public abstract class TestGenericService : pb::IService {

     public abstract void Foo(

         pb::IRpcController controller,

@@ -141,7 +141,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public class Stub : global::Google.ProtocolBuffers.TestProtos.TestGenericService {

       internal Stub(pb::IRpcChannel channel) {

         this.channel = channel;

@@ -174,7 +174,7 @@
   }

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public abstract class TestGenericServiceWithCustomOptions : pb::IService {

     public abstract void Foo(

         pb::IRpcController controller,

@@ -240,7 +240,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public class Stub : global::Google.ProtocolBuffers.TestProtos.TestGenericServiceWithCustomOptions {

       internal Stub(pb::IRpcChannel channel) {

         this.channel = channel;

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSizeProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSizeProtoFile.cs
index a758ba8..726a246 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSizeProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSizeProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestGoogleSizeProtoFile {

   

     #region Extension registration

@@ -135,7 +135,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SizeMessage1 : pb::GeneratedMessage<SizeMessage1, SizeMessage1.Builder> {

     private SizeMessage1() { }

     private static readonly SizeMessage1 defaultInstance = new SizeMessage1().MakeReadOnly();

@@ -617,7 +617,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage1, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1553,7 +1553,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SizeMessage1SubMessage : pb::GeneratedMessage<SizeMessage1SubMessage, SizeMessage1SubMessage.Builder> {

     private SizeMessage1SubMessage() { }

     private static readonly SizeMessage1SubMessage defaultInstance = new SizeMessage1SubMessage().MakeReadOnly();

@@ -1824,7 +1824,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage1SubMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2307,7 +2307,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SizeMessage2 : pb::GeneratedMessage<SizeMessage2, SizeMessage2.Builder> {

     private SizeMessage2() { }

     private static readonly SizeMessage2 defaultInstance = new SizeMessage2().MakeReadOnly();

@@ -2334,11 +2334,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class Group1 : pb::GeneratedMessage<Group1, Group1.Builder> {

         private Group1() { }

         private static readonly Group1 defaultInstance = new Group1().MakeReadOnly();

@@ -2575,7 +2575,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<Group1, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3386,7 +3386,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage2, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -4120,7 +4120,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SizeMessage2GroupedMessage : pb::GeneratedMessage<SizeMessage2GroupedMessage, SizeMessage2GroupedMessage.Builder> {

     private SizeMessage2GroupedMessage() { }

     private static readonly SizeMessage2GroupedMessage defaultInstance = new SizeMessage2GroupedMessage().MakeReadOnly();

@@ -4297,7 +4297,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage2GroupedMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSpeedProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSpeedProtoFile.cs
index c7e1a93..7303747 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSpeedProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSpeedProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestGoogleSpeedProtoFile {

   

     #region Extension registration

@@ -135,7 +135,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SpeedMessage1 : pb::GeneratedMessage<SpeedMessage1, SpeedMessage1.Builder> {

     private SpeedMessage1() { }

     private static readonly SpeedMessage1 defaultInstance = new SpeedMessage1().MakeReadOnly();

@@ -896,7 +896,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SpeedMessage1, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2189,7 +2189,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SpeedMessage1SubMessage : pb::GeneratedMessage<SpeedMessage1SubMessage, SpeedMessage1SubMessage.Builder> {

     private SpeedMessage1SubMessage() { }

     private static readonly SpeedMessage1SubMessage defaultInstance = new SpeedMessage1SubMessage().MakeReadOnly();

@@ -2607,7 +2607,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SpeedMessage1SubMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3294,7 +3294,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SpeedMessage2 : pb::GeneratedMessage<SpeedMessage2, SpeedMessage2.Builder> {

     private SpeedMessage2() { }

     private static readonly SpeedMessage2 defaultInstance = new SpeedMessage2().MakeReadOnly();

@@ -3323,11 +3323,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class Group1 : pb::GeneratedMessage<Group1, Group1.Builder> {

         private Group1() { }

         private static readonly Group1 defaultInstance = new Group1().MakeReadOnly();

@@ -3704,7 +3704,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<Group1, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -4917,7 +4917,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SpeedMessage2, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5926,7 +5926,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SpeedMessage2GroupedMessage : pb::GeneratedMessage<SpeedMessage2GroupedMessage, SpeedMessage2GroupedMessage.Builder> {

     private SpeedMessage2GroupedMessage() { }

     private static readonly SpeedMessage2GroupedMessage defaultInstance = new SpeedMessage2GroupedMessage().MakeReadOnly();

@@ -6196,7 +6196,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SpeedMessage2GroupedMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs
index f31fdd8..33350dc 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestImportLiteProtoFile {

   

     #region Extension registration

@@ -29,7 +29,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum ImportEnumLite {

     IMPORT_LITE_FOO = 7,

     IMPORT_LITE_BAR = 8,

@@ -41,7 +41,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ImportMessageLite : pb::GeneratedMessageLite<ImportMessageLite, ImportMessageLite.Builder> {

     private ImportMessageLite() { }

     private static readonly ImportMessageLite defaultInstance = new ImportMessageLite().MakeReadOnly();

@@ -160,7 +160,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<ImportMessageLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
index c12aef8..8f04e92 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestImportProtoFile {

   

     #region Extension registration

@@ -57,7 +57,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum ImportEnum {

     IMPORT_FOO = 7,

     IMPORT_BAR = 8,

@@ -69,7 +69,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ImportMessage : pb::GeneratedMessage<ImportMessage, ImportMessage.Builder> {

     private ImportMessage() { }

     private static readonly ImportMessage defaultInstance = new ImportMessage().MakeReadOnly();

@@ -179,7 +179,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<ImportMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
index f9cec1a..d4b4fba 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestMessageSetProtoFile {

   

     #region Extension registration

@@ -101,7 +101,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMessageSet : pb::ExtendableMessage<TestMessageSet, TestMessageSet.Builder> {

     private TestMessageSet() { }

     private static readonly TestMessageSet defaultInstance = new TestMessageSet().MakeReadOnly();

@@ -199,7 +199,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMessageSet, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -337,7 +337,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMessageSetContainer : pb::GeneratedMessage<TestMessageSetContainer, TestMessageSetContainer.Builder> {

     private TestMessageSetContainer() { }

     private static readonly TestMessageSetContainer defaultInstance = new TestMessageSetContainer().MakeReadOnly();

@@ -447,7 +447,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageSetContainer, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -636,7 +636,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMessageSetExtension1 : pb::GeneratedMessage<TestMessageSetExtension1, TestMessageSetExtension1.Builder> {

     private TestMessageSetExtension1() { }

     private static readonly TestMessageSetExtension1 defaultInstance = new TestMessageSetExtension1().MakeReadOnly();

@@ -748,7 +748,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageSetExtension1, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -912,7 +912,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMessageSetExtension2 : pb::GeneratedMessage<TestMessageSetExtension2, TestMessageSetExtension2.Builder> {

     private TestMessageSetExtension2() { }

     private static readonly TestMessageSetExtension2 defaultInstance = new TestMessageSetExtension2().MakeReadOnly();

@@ -1024,7 +1024,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageSetExtension2, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1189,7 +1189,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class RawMessageSet : pb::GeneratedMessage<RawMessageSet, RawMessageSet.Builder> {

     private RawMessageSet() { }

     private static readonly RawMessageSet defaultInstance = new RawMessageSet().MakeReadOnly();

@@ -1218,11 +1218,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class Item : pb::GeneratedMessage<Item, Item.Builder> {

         private Item() { }

         private static readonly Item defaultInstance = new Item().MakeReadOnly();

@@ -1350,7 +1350,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<Item, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1630,7 +1630,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<RawMessageSet, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
index 975f9e5..5b34937 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestNoGenericServicesProtoFile {

   

     #region Extension registration

@@ -69,7 +69,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum TestEnum {

     FOO = 1,

   }

@@ -79,7 +79,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMessage : pb::ExtendableMessage<TestMessage, TestMessage.Builder> {

     private TestMessage() { }

     private static readonly TestMessage defaultInstance = new TestMessage().MakeReadOnly();

@@ -193,7 +193,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
index 92d965d..ba9cadd 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestOptimizeForProtoFile {

   

     #region Extension registration

@@ -83,7 +83,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestOptimizedForSize : pb::ExtendableMessage<TestOptimizedForSize, TestOptimizedForSize.Builder> {

     private TestOptimizedForSize() { }

     private static readonly TestOptimizedForSize defaultInstance = new TestOptimizedForSize().MakeReadOnly();

@@ -174,7 +174,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -307,7 +307,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestRequiredOptimizedForSize : pb::GeneratedMessage<TestRequiredOptimizedForSize, TestRequiredOptimizedForSize.Builder> {

     private TestRequiredOptimizedForSize() { }

     private static readonly TestRequiredOptimizedForSize defaultInstance = new TestRequiredOptimizedForSize().MakeReadOnly();

@@ -384,7 +384,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequiredOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -477,7 +477,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestOptionalOptimizedForSize : pb::GeneratedMessage<TestOptionalOptimizedForSize, TestOptionalOptimizedForSize.Builder> {

     private TestOptionalOptimizedForSize() { }

     private static readonly TestOptionalOptimizedForSize defaultInstance = new TestOptionalOptimizedForSize().MakeReadOnly();

@@ -554,7 +554,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestOptionalOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
index 615959f..20c147d 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestProtoFile {

   

     #region Extension registration

@@ -1003,7 +1003,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum ForeignEnum {

     FOREIGN_FOO = 4,

     FOREIGN_BAR = 5,

@@ -1011,7 +1011,7 @@
   }

   

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum TestEnumWithDupValue {

     FOO1 = 1,

     BAR1 = 2,

@@ -1021,7 +1021,7 @@
   }

   

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum TestSparseEnum {

     SPARSE_A = 123,

     SPARSE_B = 62374,

@@ -1037,7 +1037,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestAllTypes : pb::GeneratedMessage<TestAllTypes, TestAllTypes.Builder> {

     private TestAllTypes() { }

     private static readonly TestAllTypes defaultInstance = new TestAllTypes().MakeReadOnly();

@@ -1066,10 +1066,10 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public enum NestedEnum {

         FOO = 1,

         BAR = 2,

@@ -1078,7 +1078,7 @@
       

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {

         private NestedMessage() { }

         private static readonly NestedMessage defaultInstance = new NestedMessage().MakeReadOnly();

@@ -1188,7 +1188,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1352,7 +1352,7 @@
       

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class OptionalGroup : pb::GeneratedMessage<OptionalGroup, OptionalGroup.Builder> {

         private OptionalGroup() { }

         private static readonly OptionalGroup defaultInstance = new OptionalGroup().MakeReadOnly();

@@ -1462,7 +1462,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<OptionalGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1626,7 +1626,7 @@
       

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class RepeatedGroup : pb::GeneratedMessage<RepeatedGroup, RepeatedGroup.Builder> {

         private RepeatedGroup() { }

         private static readonly RepeatedGroup defaultInstance = new RepeatedGroup().MakeReadOnly();

@@ -1736,7 +1736,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<RepeatedGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3237,7 +3237,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestAllTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5749,7 +5749,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestDeprecatedFields : pb::GeneratedMessage<TestDeprecatedFields, TestDeprecatedFields.Builder> {

     private TestDeprecatedFields() { }

     private static readonly TestDeprecatedFields defaultInstance = new TestDeprecatedFields().MakeReadOnly();

@@ -5861,7 +5861,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDeprecatedFields, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6029,7 +6029,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class ForeignMessage : pb::GeneratedMessage<ForeignMessage, ForeignMessage.Builder> {

     private ForeignMessage() { }

     private static readonly ForeignMessage defaultInstance = new ForeignMessage().MakeReadOnly();

@@ -6139,7 +6139,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<ForeignMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6303,7 +6303,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestAllExtensions : pb::ExtendableMessage<TestAllExtensions, TestAllExtensions.Builder> {

     private TestAllExtensions() { }

     private static readonly TestAllExtensions defaultInstance = new TestAllExtensions().MakeReadOnly();

@@ -6401,7 +6401,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestAllExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6539,7 +6539,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class OptionalGroup_extension : pb::GeneratedMessage<OptionalGroup_extension, OptionalGroup_extension.Builder> {

     private OptionalGroup_extension() { }

     private static readonly OptionalGroup_extension defaultInstance = new OptionalGroup_extension().MakeReadOnly();

@@ -6649,7 +6649,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<OptionalGroup_extension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6813,7 +6813,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class RepeatedGroup_extension : pb::GeneratedMessage<RepeatedGroup_extension, RepeatedGroup_extension.Builder> {

     private RepeatedGroup_extension() { }

     private static readonly RepeatedGroup_extension defaultInstance = new RepeatedGroup_extension().MakeReadOnly();

@@ -6923,7 +6923,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<RepeatedGroup_extension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7087,7 +7087,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestNestedExtension : pb::GeneratedMessage<TestNestedExtension, TestNestedExtension.Builder> {

     private TestNestedExtension() { }

     private static readonly TestNestedExtension defaultInstance = new TestNestedExtension().MakeReadOnly();

@@ -7183,7 +7183,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestNestedExtension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7320,7 +7320,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestRequired : pb::GeneratedMessage<TestRequired, TestRequired.Builder> {

     private TestRequired() { }

     private static readonly TestRequired defaultInstance = new TestRequired().MakeReadOnly();

@@ -7949,7 +7949,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequired, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8977,7 +8977,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestRequiredForeign : pb::GeneratedMessage<TestRequiredForeign, TestRequiredForeign.Builder> {

     private TestRequiredForeign() { }

     private static readonly TestRequiredForeign defaultInstance = new TestRequiredForeign().MakeReadOnly();

@@ -9128,7 +9128,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequiredForeign, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9395,7 +9395,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestForeignNested : pb::GeneratedMessage<TestForeignNested, TestForeignNested.Builder> {

     private TestForeignNested() { }

     private static readonly TestForeignNested defaultInstance = new TestForeignNested().MakeReadOnly();

@@ -9505,7 +9505,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestForeignNested, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9694,7 +9694,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestEmptyMessage : pb::GeneratedMessage<TestEmptyMessage, TestEmptyMessage.Builder> {

     private TestEmptyMessage() { }

     private static readonly TestEmptyMessage defaultInstance = new TestEmptyMessage().MakeReadOnly();

@@ -9788,7 +9788,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestEmptyMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9925,7 +9925,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestEmptyMessageWithExtensions : pb::ExtendableMessage<TestEmptyMessageWithExtensions, TestEmptyMessageWithExtensions.Builder> {

     private TestEmptyMessageWithExtensions() { }

     private static readonly TestEmptyMessageWithExtensions defaultInstance = new TestEmptyMessageWithExtensions().MakeReadOnly();

@@ -10023,7 +10023,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestEmptyMessageWithExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -10161,7 +10161,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMultipleExtensionRanges : pb::ExtendableMessage<TestMultipleExtensionRanges, TestMultipleExtensionRanges.Builder> {

     private TestMultipleExtensionRanges() { }

     private static readonly TestMultipleExtensionRanges defaultInstance = new TestMultipleExtensionRanges().MakeReadOnly();

@@ -10261,7 +10261,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMultipleExtensionRanges, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -10399,7 +10399,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestReallyLargeTagNumber : pb::GeneratedMessage<TestReallyLargeTagNumber, TestReallyLargeTagNumber.Builder> {

     private TestReallyLargeTagNumber() { }

     private static readonly TestReallyLargeTagNumber defaultInstance = new TestReallyLargeTagNumber().MakeReadOnly();

@@ -10525,7 +10525,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestReallyLargeTagNumber, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -10716,7 +10716,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestRecursiveMessage : pb::GeneratedMessage<TestRecursiveMessage, TestRecursiveMessage.Builder> {

     private TestRecursiveMessage() { }

     private static readonly TestRecursiveMessage defaultInstance = new TestRecursiveMessage().MakeReadOnly();

@@ -10842,7 +10842,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRecursiveMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11058,7 +11058,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMutualRecursionA : pb::GeneratedMessage<TestMutualRecursionA, TestMutualRecursionA.Builder> {

     private TestMutualRecursionA() { }

     private static readonly TestMutualRecursionA defaultInstance = new TestMutualRecursionA().MakeReadOnly();

@@ -11168,7 +11168,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMutualRecursionA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11357,7 +11357,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestMutualRecursionB : pb::GeneratedMessage<TestMutualRecursionB, TestMutualRecursionB.Builder> {

     private TestMutualRecursionB() { }

     private static readonly TestMutualRecursionB defaultInstance = new TestMutualRecursionB().MakeReadOnly();

@@ -11483,7 +11483,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMutualRecursionB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11699,7 +11699,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestDupFieldNumber : pb::GeneratedMessage<TestDupFieldNumber, TestDupFieldNumber.Builder> {

     private TestDupFieldNumber() { }

     private static readonly TestDupFieldNumber defaultInstance = new TestDupFieldNumber().MakeReadOnly();

@@ -11728,11 +11728,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class Foo : pb::GeneratedMessage<Foo, Foo.Builder> {

         private Foo() { }

         private static readonly Foo defaultInstance = new Foo().MakeReadOnly();

@@ -11842,7 +11842,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<Foo, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -12006,7 +12006,7 @@
       

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class Bar : pb::GeneratedMessage<Bar, Bar.Builder> {

         private Bar() { }

         private static readonly Bar defaultInstance = new Bar().MakeReadOnly();

@@ -12116,7 +12116,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<Bar, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -12397,7 +12397,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDupFieldNumber, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -12665,7 +12665,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestNestedMessageHasBits : pb::GeneratedMessage<TestNestedMessageHasBits, TestNestedMessageHasBits.Builder> {

     private TestNestedMessageHasBits() { }

     private static readonly TestNestedMessageHasBits defaultInstance = new TestNestedMessageHasBits().MakeReadOnly();

@@ -12694,11 +12694,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {

         private NestedMessage() { }

         private static readonly NestedMessage defaultInstance = new NestedMessage().MakeReadOnly();

@@ -12835,7 +12835,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -13146,7 +13146,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestNestedMessageHasBits, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -13335,7 +13335,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestCamelCaseFieldNames : pb::GeneratedMessage<TestCamelCaseFieldNames, TestCamelCaseFieldNames.Builder> {

     private TestCamelCaseFieldNames() { }

     private static readonly TestCamelCaseFieldNames defaultInstance = new TestCamelCaseFieldNames().MakeReadOnly();

@@ -13666,7 +13666,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestCamelCaseFieldNames, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -14254,7 +14254,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestFieldOrderings : pb::ExtendableMessage<TestFieldOrderings, TestFieldOrderings.Builder> {

     private TestFieldOrderings() { }

     private static readonly TestFieldOrderings defaultInstance = new TestFieldOrderings().MakeReadOnly();

@@ -14401,7 +14401,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestFieldOrderings, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -14621,7 +14621,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestExtremeDefaultValues : pb::GeneratedMessage<TestExtremeDefaultValues, TestExtremeDefaultValues.Builder> {

     private TestExtremeDefaultValues() { }

     private static readonly TestExtremeDefaultValues defaultInstance = new TestExtremeDefaultValues().MakeReadOnly();

@@ -15037,7 +15037,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestExtremeDefaultValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -15721,7 +15721,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SparseEnumMessage : pb::GeneratedMessage<SparseEnumMessage, SparseEnumMessage.Builder> {

     private SparseEnumMessage() { }

     private static readonly SparseEnumMessage defaultInstance = new SparseEnumMessage().MakeReadOnly();

@@ -15831,7 +15831,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SparseEnumMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16003,7 +16003,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class OneString : pb::GeneratedMessage<OneString, OneString.Builder> {

     private OneString() { }

     private static readonly OneString defaultInstance = new OneString().MakeReadOnly();

@@ -16113,7 +16113,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<OneString, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16278,7 +16278,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class OneBytes : pb::GeneratedMessage<OneBytes, OneBytes.Builder> {

     private OneBytes() { }

     private static readonly OneBytes defaultInstance = new OneBytes().MakeReadOnly();

@@ -16388,7 +16388,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<OneBytes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16553,7 +16553,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestPackedTypes : pb::GeneratedMessage<TestPackedTypes, TestPackedTypes.Builder> {

     private TestPackedTypes() { }

     private static readonly TestPackedTypes defaultInstance = new TestPackedTypes().MakeReadOnly();

@@ -17034,7 +17034,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestPackedTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17732,7 +17732,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestUnpackedTypes : pb::GeneratedMessage<TestUnpackedTypes, TestUnpackedTypes.Builder> {

     private TestUnpackedTypes() { }

     private static readonly TestUnpackedTypes defaultInstance = new TestUnpackedTypes().MakeReadOnly();

@@ -18158,7 +18158,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestUnpackedTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -18856,7 +18856,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestPackedExtensions : pb::ExtendableMessage<TestPackedExtensions, TestPackedExtensions.Builder> {

     private TestPackedExtensions() { }

     private static readonly TestPackedExtensions defaultInstance = new TestPackedExtensions().MakeReadOnly();

@@ -18954,7 +18954,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestPackedExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -19092,7 +19092,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestDynamicExtensions : pb::GeneratedMessage<TestDynamicExtensions, TestDynamicExtensions.Builder> {

     private TestDynamicExtensions() { }

     private static readonly TestDynamicExtensions defaultInstance = new TestDynamicExtensions().MakeReadOnly();

@@ -19121,10 +19121,10 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public enum DynamicEnumType {

         DYNAMIC_FOO = 2200,

         DYNAMIC_BAR = 2201,

@@ -19133,7 +19133,7 @@
       

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class DynamicMessageType : pb::GeneratedMessage<DynamicMessageType, DynamicMessageType.Builder> {

         private DynamicMessageType() { }

         private static readonly DynamicMessageType defaultInstance = new DynamicMessageType().MakeReadOnly();

@@ -19243,7 +19243,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<DynamicMessageType, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -19609,7 +19609,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDynamicExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -20026,7 +20026,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestRepeatedScalarDifferentTagSizes : pb::GeneratedMessage<TestRepeatedScalarDifferentTagSizes, TestRepeatedScalarDifferentTagSizes.Builder> {

     private TestRepeatedScalarDifferentTagSizes() { }

     private static readonly TestRepeatedScalarDifferentTagSizes defaultInstance = new TestRepeatedScalarDifferentTagSizes().MakeReadOnly();

@@ -20264,7 +20264,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRepeatedScalarDifferentTagSizes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -20644,7 +20644,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class FooRequest : pb::GeneratedMessage<FooRequest, FooRequest.Builder> {

     private FooRequest() { }

     private static readonly FooRequest defaultInstance = new FooRequest().MakeReadOnly();

@@ -20738,7 +20738,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<FooRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -20875,7 +20875,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class FooResponse : pb::GeneratedMessage<FooResponse, FooResponse.Builder> {

     private FooResponse() { }

     private static readonly FooResponse defaultInstance = new FooResponse().MakeReadOnly();

@@ -20969,7 +20969,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<FooResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -21106,7 +21106,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class BarRequest : pb::GeneratedMessage<BarRequest, BarRequest.Builder> {

     private BarRequest() { }

     private static readonly BarRequest defaultInstance = new BarRequest().MakeReadOnly();

@@ -21200,7 +21200,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<BarRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -21337,7 +21337,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class BarResponse : pb::GeneratedMessage<BarResponse, BarResponse.Builder> {

     private BarResponse() { }

     private static readonly BarResponse defaultInstance = new BarResponse().MakeReadOnly();

@@ -21431,7 +21431,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<BarResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs
index b9d9b0b..a7a3cc1 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestRpcInterop {

   

     #region Extension registration

@@ -81,7 +81,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SearchRequest : pb::GeneratedMessage<SearchRequest, SearchRequest.Builder> {

     private SearchRequest() { }

     private static readonly SearchRequest defaultInstance = new SearchRequest().MakeReadOnly();

@@ -199,7 +199,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SearchRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -375,7 +375,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class SearchResponse : pb::GeneratedMessage<SearchResponse, SearchResponse.Builder> {

     private SearchResponse() { }

     private static readonly SearchResponse defaultInstance = new SearchResponse().MakeReadOnly();

@@ -404,11 +404,11 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class ResultItem : pb::GeneratedMessage<ResultItem, ResultItem.Builder> {

         private ResultItem() { }

         private static readonly ResultItem defaultInstance = new ResultItem().MakeReadOnly();

@@ -535,7 +535,7 @@
         

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<ResultItem, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -819,7 +819,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<SearchResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1007,7 +1007,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class RefineSearchRequest : pb::GeneratedMessage<RefineSearchRequest, RefineSearchRequest.Builder> {

     private RefineSearchRequest() { }

     private static readonly RefineSearchRequest defaultInstance = new RefineSearchRequest().MakeReadOnly();

@@ -1143,7 +1143,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<RefineSearchRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1374,7 +1374,7 @@
   #region Services

   [global::System.Runtime.InteropServices.GuidAttribute("a65f0925-fd11-4f94-b166-89ac4f027205")]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public partial interface ISearchService {

     [global::System.Runtime.InteropServices.DispId(5)]

     global::Google.ProtocolBuffers.TestProtos.SearchResponse Search(global::Google.ProtocolBuffers.TestProtos.SearchRequest searchRequest);

@@ -1384,7 +1384,7 @@
   [global::System.CLSCompliant(false)]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public partial class SearchService : ISearchService, pb::IRpcDispatch, global::System.IDisposable {

     private readonly bool dispose;

     private readonly pb::IRpcDispatch dispatch;

@@ -1414,7 +1414,7 @@
     [global::System.CLSCompliant(false)]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public partial class Dispatch : pb::IRpcDispatch, global::System.IDisposable {

       private readonly bool dispose;

       private readonly ISearchService implementation;

@@ -1442,7 +1442,7 @@
     [global::System.CLSCompliant(false)]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public partial class ServerStub : pb::IRpcServerStub, global::System.IDisposable {

       private readonly bool dispose;

       private readonly pb::IRpcDispatch implementation;

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs
index e63d8c3..b04ca57 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestXmlSerializerTestProtoFile {

   

     #region Extension registration

@@ -124,7 +124,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum EnumOptions {

     ONE = 0,

     TWO = 1,

@@ -137,7 +137,7 @@
   [global::System.SerializableAttribute()]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestXmlChild : pb::GeneratedMessage<TestXmlChild, TestXmlChild.Builder> {

     private TestXmlChild() { }

     private static readonly TestXmlChild defaultInstance = new TestXmlChild().MakeReadOnly();

@@ -274,7 +274,7 @@
     [global::System.SerializableAttribute()]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestXmlChild, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -487,7 +487,7 @@
   [global::System.SerializableAttribute()]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestXmlNoFields : pb::GeneratedMessage<TestXmlNoFields, TestXmlNoFields.Builder> {

     private TestXmlNoFields() { }

     private static readonly TestXmlNoFields defaultInstance = new TestXmlNoFields().MakeReadOnly();

@@ -582,7 +582,7 @@
     [global::System.SerializableAttribute()]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestXmlNoFields, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -720,7 +720,7 @@
   [global::System.SerializableAttribute()]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestXmlRescursive : pb::GeneratedMessage<TestXmlRescursive, TestXmlRescursive.Builder> {

     private TestXmlRescursive() { }

     private static readonly TestXmlRescursive defaultInstance = new TestXmlRescursive().MakeReadOnly();

@@ -831,7 +831,7 @@
     [global::System.SerializableAttribute()]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestXmlRescursive, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1021,7 +1021,7 @@
   [global::System.SerializableAttribute()]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestXmlMessage : pb::ExtendableMessage<TestXmlMessage, TestXmlMessage.Builder> {

     private TestXmlMessage() { }

     private static readonly TestXmlMessage defaultInstance = new TestXmlMessage().MakeReadOnly();

@@ -1050,12 +1050,12 @@
     #region Nested types

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public static class Types {

       [global::System.SerializableAttribute()]

       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

       public sealed partial class Children : pb::GeneratedMessage<Children, Children.Builder> {

         private Children() { }

         private static readonly Children defaultInstance = new Children().MakeReadOnly();

@@ -1192,7 +1192,7 @@
         [global::System.SerializableAttribute()]

         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

         [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

         public sealed partial class Builder : pb::GeneratedBuilder<Children, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1609,7 +1609,7 @@
     [global::System.SerializableAttribute()]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestXmlMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2010,7 +2010,7 @@
   [global::System.SerializableAttribute()]

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class TestXmlExtension : pb::GeneratedMessage<TestXmlExtension, TestXmlExtension.Builder> {

     private TestXmlExtension() { }

     private static readonly TestXmlExtension defaultInstance = new TestXmlExtension().MakeReadOnly();

@@ -2122,7 +2122,7 @@
     [global::System.SerializableAttribute()]

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestXmlExtension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }