Workaround for Mono bug 516379
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
index 56d7e36..96ee642 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
@@ -203,11 +203,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return OptionsMessage.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.OptionsMessage.Descriptor; }
       }
       
       public override OptionsMessage DefaultInstanceForType {
-        get { return OptionsMessage.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.OptionsMessage.DefaultInstance; }
       }
       
       public override OptionsMessage BuildPartial() {
@@ -229,7 +229,7 @@
       }
       
       public override Builder MergeFrom(OptionsMessage other) {
-        if (other == OptionsMessage.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.OptionsMessage.DefaultInstance) return this;
         if (other.HasNormal) {
           Normal = other.Normal;
         }
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
index 64fc2a5..d2c3800 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
@@ -513,11 +513,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMessageWithCustomOptions.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageWithCustomOptions.Descriptor; }
       }
       
       public override TestMessageWithCustomOptions DefaultInstanceForType {
-        get { return TestMessageWithCustomOptions.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageWithCustomOptions.DefaultInstance; }
       }
       
       public override TestMessageWithCustomOptions BuildPartial() {
@@ -539,7 +539,7 @@
       }
       
       public override Builder MergeFrom(TestMessageWithCustomOptions other) {
-        if (other == TestMessageWithCustomOptions.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMessageWithCustomOptions.DefaultInstance) return this;
         if (other.HasField1) {
           Field1 = other.Field1;
         }
@@ -712,11 +712,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return CustomOptionFooRequest.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest.Descriptor; }
       }
       
       public override CustomOptionFooRequest DefaultInstanceForType {
-        get { return CustomOptionFooRequest.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest.DefaultInstance; }
       }
       
       public override CustomOptionFooRequest BuildPartial() {
@@ -738,7 +738,7 @@
       }
       
       public override Builder MergeFrom(CustomOptionFooRequest other) {
-        if (other == CustomOptionFooRequest.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -885,11 +885,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return CustomOptionFooResponse.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.Descriptor; }
       }
       
       public override CustomOptionFooResponse DefaultInstanceForType {
-        get { return CustomOptionFooResponse.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance; }
       }
       
       public override CustomOptionFooResponse BuildPartial() {
@@ -911,7 +911,7 @@
       }
       
       public override Builder MergeFrom(CustomOptionFooResponse other) {
-        if (other == CustomOptionFooResponse.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -1068,11 +1068,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return DummyMessageContainingEnum.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.DummyMessageContainingEnum.Descriptor; }
       }
       
       public override DummyMessageContainingEnum DefaultInstanceForType {
-        get { return DummyMessageContainingEnum.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.DummyMessageContainingEnum.DefaultInstance; }
       }
       
       public override DummyMessageContainingEnum BuildPartial() {
@@ -1094,7 +1094,7 @@
       }
       
       public override Builder MergeFrom(DummyMessageContainingEnum other) {
-        if (other == DummyMessageContainingEnum.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.DummyMessageContainingEnum.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -1241,11 +1241,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return DummyMessageInvalidAsOptionType.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.DummyMessageInvalidAsOptionType.Descriptor; }
       }
       
       public override DummyMessageInvalidAsOptionType DefaultInstanceForType {
-        get { return DummyMessageInvalidAsOptionType.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.DummyMessageInvalidAsOptionType.DefaultInstance; }
       }
       
       public override DummyMessageInvalidAsOptionType BuildPartial() {
@@ -1267,7 +1267,7 @@
       }
       
       public override Builder MergeFrom(DummyMessageInvalidAsOptionType other) {
-        if (other == DummyMessageInvalidAsOptionType.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.DummyMessageInvalidAsOptionType.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -1414,11 +1414,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return CustomOptionMinIntegerValues.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionMinIntegerValues.Descriptor; }
       }
       
       public override CustomOptionMinIntegerValues DefaultInstanceForType {
-        get { return CustomOptionMinIntegerValues.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionMinIntegerValues.DefaultInstance; }
       }
       
       public override CustomOptionMinIntegerValues BuildPartial() {
@@ -1440,7 +1440,7 @@
       }
       
       public override Builder MergeFrom(CustomOptionMinIntegerValues other) {
-        if (other == CustomOptionMinIntegerValues.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionMinIntegerValues.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -1587,11 +1587,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return CustomOptionMaxIntegerValues.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionMaxIntegerValues.Descriptor; }
       }
       
       public override CustomOptionMaxIntegerValues DefaultInstanceForType {
-        get { return CustomOptionMaxIntegerValues.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionMaxIntegerValues.DefaultInstance; }
       }
       
       public override CustomOptionMaxIntegerValues BuildPartial() {
@@ -1613,7 +1613,7 @@
       }
       
       public override Builder MergeFrom(CustomOptionMaxIntegerValues other) {
-        if (other == CustomOptionMaxIntegerValues.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionMaxIntegerValues.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -1760,11 +1760,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return CustomOptionOtherValues.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionOtherValues.Descriptor; }
       }
       
       public override CustomOptionOtherValues DefaultInstanceForType {
-        get { return CustomOptionOtherValues.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.CustomOptionOtherValues.DefaultInstance; }
       }
       
       public override CustomOptionOtherValues BuildPartial() {
@@ -1786,7 +1786,7 @@
       }
       
       public override Builder MergeFrom(CustomOptionOtherValues other) {
-        if (other == CustomOptionOtherValues.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionOtherValues.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -1933,11 +1933,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return SettingRealsFromPositiveInts.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.SettingRealsFromPositiveInts.Descriptor; }
       }
       
       public override SettingRealsFromPositiveInts DefaultInstanceForType {
-        get { return SettingRealsFromPositiveInts.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.SettingRealsFromPositiveInts.DefaultInstance; }
       }
       
       public override SettingRealsFromPositiveInts BuildPartial() {
@@ -1959,7 +1959,7 @@
       }
       
       public override Builder MergeFrom(SettingRealsFromPositiveInts other) {
-        if (other == SettingRealsFromPositiveInts.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.SettingRealsFromPositiveInts.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -2106,11 +2106,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return SettingRealsFromNegativeInts.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.SettingRealsFromNegativeInts.Descriptor; }
       }
       
       public override SettingRealsFromNegativeInts DefaultInstanceForType {
-        get { return SettingRealsFromNegativeInts.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.SettingRealsFromNegativeInts.DefaultInstance; }
       }
       
       public override SettingRealsFromNegativeInts BuildPartial() {
@@ -2132,7 +2132,7 @@
       }
       
       public override Builder MergeFrom(SettingRealsFromNegativeInts other) {
-        if (other == SettingRealsFromNegativeInts.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.SettingRealsFromNegativeInts.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -2299,11 +2299,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return ComplexOptionType1.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.Descriptor; }
       }
       
       public override ComplexOptionType1 DefaultInstanceForType {
-        get { return ComplexOptionType1.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.DefaultInstance; }
       }
       
       public override ComplexOptionType1 BuildPartial() {
@@ -2325,7 +2325,7 @@
       }
       
       public override Builder MergeFrom(ComplexOptionType1 other) {
-        if (other == ComplexOptionType1.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.DefaultInstance) return this;
         if (other.HasFoo) {
           Foo = other.Foo;
         }
@@ -2540,11 +2540,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return ComplexOptionType4.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Descriptor; }
           }
           
           public override ComplexOptionType4 DefaultInstanceForType {
-            get { return ComplexOptionType4.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.DefaultInstance; }
           }
           
           public override ComplexOptionType4 BuildPartial() {
@@ -2566,7 +2566,7 @@
           }
           
           public override Builder MergeFrom(ComplexOptionType4 other) {
-            if (other == ComplexOptionType4.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.DefaultInstance) return this;
             if (other.HasWaldo) {
               Waldo = other.Waldo;
             }
@@ -2774,11 +2774,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return ComplexOptionType2.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Descriptor; }
       }
       
       public override ComplexOptionType2 DefaultInstanceForType {
-        get { return ComplexOptionType2.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.DefaultInstance; }
       }
       
       public override ComplexOptionType2 BuildPartial() {
@@ -2800,7 +2800,7 @@
       }
       
       public override Builder MergeFrom(ComplexOptionType2 other) {
-        if (other == ComplexOptionType2.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.DefaultInstance) return this;
         if (other.HasBar) {
           MergeBar(other.Bar);
         }
@@ -3109,11 +3109,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return ComplexOptionType5.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.Descriptor; }
           }
           
           public override ComplexOptionType5 DefaultInstanceForType {
-            get { return ComplexOptionType5.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.DefaultInstance; }
           }
           
           public override ComplexOptionType5 BuildPartial() {
@@ -3135,7 +3135,7 @@
           }
           
           public override Builder MergeFrom(ComplexOptionType5 other) {
-            if (other == ComplexOptionType5.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.DefaultInstance) return this;
             if (other.HasPlugh) {
               Plugh = other.Plugh;
             }
@@ -3320,11 +3320,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return ComplexOptionType3.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Descriptor; }
       }
       
       public override ComplexOptionType3 DefaultInstanceForType {
-        get { return ComplexOptionType3.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.DefaultInstance; }
       }
       
       public override ComplexOptionType3 BuildPartial() {
@@ -3346,7 +3346,7 @@
       }
       
       public override Builder MergeFrom(ComplexOptionType3 other) {
-        if (other == ComplexOptionType3.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.DefaultInstance) return this;
         if (other.HasQux) {
           Qux = other.Qux;
         }
@@ -3582,11 +3582,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return ComplexOpt6.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOpt6.Descriptor; }
       }
       
       public override ComplexOpt6 DefaultInstanceForType {
-        get { return ComplexOpt6.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ComplexOpt6.DefaultInstance; }
       }
       
       public override ComplexOpt6 BuildPartial() {
@@ -3608,7 +3608,7 @@
       }
       
       public override Builder MergeFrom(ComplexOpt6 other) {
-        if (other == ComplexOpt6.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOpt6.DefaultInstance) return this;
         if (other.HasXyzzy) {
           Xyzzy = other.Xyzzy;
         }
@@ -3780,11 +3780,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return VariousComplexOptions.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.VariousComplexOptions.Descriptor; }
       }
       
       public override VariousComplexOptions DefaultInstanceForType {
-        get { return VariousComplexOptions.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.VariousComplexOptions.DefaultInstance; }
       }
       
       public override VariousComplexOptions BuildPartial() {
@@ -3806,7 +3806,7 @@
       }
       
       public override Builder MergeFrom(VariousComplexOptions other) {
-        if (other == VariousComplexOptions.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.VariousComplexOptions.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
index 8f1542a..c498245 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
@@ -199,11 +199,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestEmbedOptimizedForSize.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize.Descriptor; }
       }
       
       public override TestEmbedOptimizedForSize DefaultInstanceForType {
-        get { return TestEmbedOptimizedForSize.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize.DefaultInstance; }
       }
       
       public override TestEmbedOptimizedForSize BuildPartial() {
@@ -226,7 +226,7 @@
       }
       
       public override Builder MergeFrom(TestEmbedOptimizedForSize other) {
-        if (other == TestEmbedOptimizedForSize.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize.DefaultInstance) return this;
         if (other.HasOptionalMessage) {
           MergeOptionalMessage(other.OptionalMessage);
         }
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
index 4181f8f..82dec7a 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
@@ -180,11 +180,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return ImportMessage.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ImportMessage.Descriptor; }
       }
       
       public override ImportMessage DefaultInstanceForType {
-        get { return ImportMessage.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ImportMessage.DefaultInstance; }
       }
       
       public override ImportMessage BuildPartial() {
@@ -206,7 +206,7 @@
       }
       
       public override Builder MergeFrom(ImportMessage other) {
-        if (other == ImportMessage.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.ImportMessage.DefaultInstance) return this;
         if (other.HasD) {
           D = other.D;
         }
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
index 6a03016..177dc69 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
@@ -202,11 +202,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMessageSet.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSet.Descriptor; }
       }
       
       public override TestMessageSet DefaultInstanceForType {
-        get { return TestMessageSet.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSet.DefaultInstance; }
       }
       
       public override TestMessageSet BuildPartial() {
@@ -228,7 +228,7 @@
       }
       
       public override Builder MergeFrom(TestMessageSet other) {
-        if (other == TestMessageSet.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMessageSet.DefaultInstance) return this;
           this.MergeExtensionFields(other);
         this.MergeUnknownFields(other.UnknownFields);
         return this;
@@ -392,11 +392,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMessageSetContainer.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer.Descriptor; }
       }
       
       public override TestMessageSetContainer DefaultInstanceForType {
-        get { return TestMessageSetContainer.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer.DefaultInstance; }
       }
       
       public override TestMessageSetContainer BuildPartial() {
@@ -418,7 +418,7 @@
       }
       
       public override Builder MergeFrom(TestMessageSetContainer other) {
-        if (other == TestMessageSetContainer.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer.DefaultInstance) return this;
         if (other.HasMessageSet) {
           MergeMessageSet(other.MessageSet);
         }
@@ -631,11 +631,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMessageSetExtension1.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1.Descriptor; }
       }
       
       public override TestMessageSetExtension1 DefaultInstanceForType {
-        get { return TestMessageSetExtension1.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1.DefaultInstance; }
       }
       
       public override TestMessageSetExtension1 BuildPartial() {
@@ -657,7 +657,7 @@
       }
       
       public override Builder MergeFrom(TestMessageSetExtension1 other) {
-        if (other == TestMessageSetExtension1.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1.DefaultInstance) return this;
         if (other.HasI) {
           I = other.I;
         }
@@ -847,11 +847,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMessageSetExtension2.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2.Descriptor; }
       }
       
       public override TestMessageSetExtension2 DefaultInstanceForType {
-        get { return TestMessageSetExtension2.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2.DefaultInstance; }
       }
       
       public override TestMessageSetExtension2 BuildPartial() {
@@ -873,7 +873,7 @@
       }
       
       public override Builder MergeFrom(TestMessageSetExtension2 other) {
-        if (other == TestMessageSetExtension2.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2.DefaultInstance) return this;
         if (other.HasStr) {
           Str = other.Str;
         }
@@ -1104,11 +1104,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return Item.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item.Descriptor; }
           }
           
           public override Item DefaultInstanceForType {
-            get { return Item.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item.DefaultInstance; }
           }
           
           public override Item BuildPartial() {
@@ -1130,7 +1130,7 @@
           }
           
           public override Builder MergeFrom(Item other) {
-            if (other == Item.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item.DefaultInstance) return this;
             if (other.HasTypeId) {
               TypeId = other.TypeId;
             }
@@ -1327,11 +1327,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return RawMessageSet.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Descriptor; }
       }
       
       public override RawMessageSet DefaultInstanceForType {
-        get { return RawMessageSet.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.RawMessageSet.DefaultInstance; }
       }
       
       public override RawMessageSet BuildPartial() {
@@ -1354,7 +1354,7 @@
       }
       
       public override Builder MergeFrom(RawMessageSet other) {
-        if (other == RawMessageSet.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.RawMessageSet.DefaultInstance) return this;
         if (other.item_.Count != 0) {
           base.AddRange(other.item_, result.item_);
         }
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
index a0648ed..f703887 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
@@ -181,11 +181,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestOptimizedForSize.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.Descriptor; }
       }
       
       public override TestOptimizedForSize DefaultInstanceForType {
-        get { return TestOptimizedForSize.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.DefaultInstance; }
       }
       
       public override TestOptimizedForSize BuildPartial() {
@@ -348,11 +348,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestRequiredOptimizedForSize.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRequiredOptimizedForSize.Descriptor; }
       }
       
       public override TestRequiredOptimizedForSize DefaultInstanceForType {
-        get { return TestRequiredOptimizedForSize.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRequiredOptimizedForSize.DefaultInstance; }
       }
       
       public override TestRequiredOptimizedForSize BuildPartial() {
@@ -479,11 +479,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestOptionalOptimizedForSize.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestOptionalOptimizedForSize.Descriptor; }
       }
       
       public override TestOptionalOptimizedForSize DefaultInstanceForType {
-        get { return TestOptionalOptimizedForSize.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestOptionalOptimizedForSize.DefaultInstance; }
       }
       
       public override TestOptionalOptimizedForSize BuildPartial() {
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
index a09952e..123b5ec 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
@@ -1070,11 +1070,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return NestedMessage.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage.Descriptor; }
           }
           
           public override NestedMessage DefaultInstanceForType {
-            get { return NestedMessage.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage.DefaultInstance; }
           }
           
           public override NestedMessage BuildPartial() {
@@ -1096,7 +1096,7 @@
           }
           
           public override Builder MergeFrom(NestedMessage other) {
-            if (other == NestedMessage.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage.DefaultInstance) return this;
             if (other.HasBb) {
               Bb = other.Bb;
             }
@@ -1284,11 +1284,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return OptionalGroup.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup.Descriptor; }
           }
           
           public override OptionalGroup DefaultInstanceForType {
-            get { return OptionalGroup.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup.DefaultInstance; }
           }
           
           public override OptionalGroup BuildPartial() {
@@ -1310,7 +1310,7 @@
           }
           
           public override Builder MergeFrom(OptionalGroup other) {
-            if (other == OptionalGroup.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup.DefaultInstance) return this;
             if (other.HasA) {
               A = other.A;
             }
@@ -1498,11 +1498,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return RepeatedGroup.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup.Descriptor; }
           }
           
           public override RepeatedGroup DefaultInstanceForType {
-            get { return RepeatedGroup.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup.DefaultInstance; }
           }
           
           public override RepeatedGroup BuildPartial() {
@@ -1524,7 +1524,7 @@
           }
           
           public override Builder MergeFrom(RepeatedGroup other) {
-            if (other == RepeatedGroup.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup.DefaultInstance) return this;
             if (other.HasA) {
               A = other.A;
             }
@@ -2961,11 +2961,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestAllTypes.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Descriptor; }
       }
       
       public override TestAllTypes DefaultInstanceForType {
-        get { return TestAllTypes.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestAllTypes.DefaultInstance; }
       }
       
       public override TestAllTypes BuildPartial() {
@@ -3011,7 +3011,7 @@
       }
       
       public override Builder MergeFrom(TestAllTypes other) {
-        if (other == TestAllTypes.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestAllTypes.DefaultInstance) return this;
         if (other.HasOptionalInt32) {
           OptionalInt32 = other.OptionalInt32;
         }
@@ -5338,11 +5338,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return ForeignMessage.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ForeignMessage.Descriptor; }
       }
       
       public override ForeignMessage DefaultInstanceForType {
-        get { return ForeignMessage.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.ForeignMessage.DefaultInstance; }
       }
       
       public override ForeignMessage BuildPartial() {
@@ -5364,7 +5364,7 @@
       }
       
       public override Builder MergeFrom(ForeignMessage other) {
-        if (other == ForeignMessage.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.ForeignMessage.DefaultInstance) return this;
         if (other.HasC) {
           C = other.C;
         }
@@ -5540,11 +5540,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestAllExtensions.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestAllExtensions.Descriptor; }
       }
       
       public override TestAllExtensions DefaultInstanceForType {
-        get { return TestAllExtensions.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestAllExtensions.DefaultInstance; }
       }
       
       public override TestAllExtensions BuildPartial() {
@@ -5566,7 +5566,7 @@
       }
       
       public override Builder MergeFrom(TestAllExtensions other) {
-        if (other == TestAllExtensions.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestAllExtensions.DefaultInstance) return this;
           this.MergeExtensionFields(other);
         this.MergeUnknownFields(other.UnknownFields);
         return this;
@@ -5730,11 +5730,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return OptionalGroup_extension.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension.Descriptor; }
       }
       
       public override OptionalGroup_extension DefaultInstanceForType {
-        get { return OptionalGroup_extension.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension.DefaultInstance; }
       }
       
       public override OptionalGroup_extension BuildPartial() {
@@ -5756,7 +5756,7 @@
       }
       
       public override Builder MergeFrom(OptionalGroup_extension other) {
-        if (other == OptionalGroup_extension.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension.DefaultInstance) return this;
         if (other.HasA) {
           A = other.A;
         }
@@ -5944,11 +5944,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return RepeatedGroup_extension.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension.Descriptor; }
       }
       
       public override RepeatedGroup_extension DefaultInstanceForType {
-        get { return RepeatedGroup_extension.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension.DefaultInstance; }
       }
       
       public override RepeatedGroup_extension BuildPartial() {
@@ -5970,7 +5970,7 @@
       }
       
       public override Builder MergeFrom(RepeatedGroup_extension other) {
-        if (other == RepeatedGroup_extension.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension.DefaultInstance) return this;
         if (other.HasA) {
           A = other.A;
         }
@@ -6677,11 +6677,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestRequired.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRequired.Descriptor; }
       }
       
       public override TestRequired DefaultInstanceForType {
-        get { return TestRequired.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRequired.DefaultInstance; }
       }
       
       public override TestRequired BuildPartial() {
@@ -6703,7 +6703,7 @@
       }
       
       public override Builder MergeFrom(TestRequired other) {
-        if (other == TestRequired.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestRequired.DefaultInstance) return this;
         if (other.HasA) {
           A = other.A;
         }
@@ -7731,11 +7731,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestRequiredForeign.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign.Descriptor; }
       }
       
       public override TestRequiredForeign DefaultInstanceForType {
-        get { return TestRequiredForeign.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign.DefaultInstance; }
       }
       
       public override TestRequiredForeign BuildPartial() {
@@ -7758,7 +7758,7 @@
       }
       
       public override Builder MergeFrom(TestRequiredForeign other) {
-        if (other == TestRequiredForeign.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign.DefaultInstance) return this;
         if (other.HasOptionalMessage) {
           MergeOptionalMessage(other.OptionalMessage);
         }
@@ -8041,11 +8041,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestForeignNested.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestForeignNested.Descriptor; }
       }
       
       public override TestForeignNested DefaultInstanceForType {
-        get { return TestForeignNested.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestForeignNested.DefaultInstance; }
       }
       
       public override TestForeignNested BuildPartial() {
@@ -8067,7 +8067,7 @@
       }
       
       public override Builder MergeFrom(TestForeignNested other) {
-        if (other == TestForeignNested.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestForeignNested.DefaultInstance) return this;
         if (other.HasForeignNested) {
           MergeForeignNested(other.ForeignNested);
         }
@@ -8262,11 +8262,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestEmptyMessage.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage.Descriptor; }
       }
       
       public override TestEmptyMessage DefaultInstanceForType {
-        get { return TestEmptyMessage.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage.DefaultInstance; }
       }
       
       public override TestEmptyMessage BuildPartial() {
@@ -8288,7 +8288,7 @@
       }
       
       public override Builder MergeFrom(TestEmptyMessage other) {
-        if (other == TestEmptyMessage.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -8439,11 +8439,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestEmptyMessageWithExtensions.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions.Descriptor; }
       }
       
       public override TestEmptyMessageWithExtensions DefaultInstanceForType {
-        get { return TestEmptyMessageWithExtensions.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions.DefaultInstance; }
       }
       
       public override TestEmptyMessageWithExtensions BuildPartial() {
@@ -8465,7 +8465,7 @@
       }
       
       public override Builder MergeFrom(TestEmptyMessageWithExtensions other) {
-        if (other == TestEmptyMessageWithExtensions.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions.DefaultInstance) return this;
           this.MergeExtensionFields(other);
         this.MergeUnknownFields(other.UnknownFields);
         return this;
@@ -8645,11 +8645,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestReallyLargeTagNumber.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber.Descriptor; }
       }
       
       public override TestReallyLargeTagNumber DefaultInstanceForType {
-        get { return TestReallyLargeTagNumber.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber.DefaultInstance; }
       }
       
       public override TestReallyLargeTagNumber BuildPartial() {
@@ -8671,7 +8671,7 @@
       }
       
       public override Builder MergeFrom(TestReallyLargeTagNumber other) {
-        if (other == TestReallyLargeTagNumber.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber.DefaultInstance) return this;
         if (other.HasA) {
           A = other.A;
         }
@@ -8900,11 +8900,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestRecursiveMessage.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage.Descriptor; }
       }
       
       public override TestRecursiveMessage DefaultInstanceForType {
-        get { return TestRecursiveMessage.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage.DefaultInstance; }
       }
       
       public override TestRecursiveMessage BuildPartial() {
@@ -8926,7 +8926,7 @@
       }
       
       public override Builder MergeFrom(TestRecursiveMessage other) {
-        if (other == TestRecursiveMessage.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage.DefaultInstance) return this;
         if (other.HasA) {
           MergeA(other.A);
         }
@@ -9162,11 +9162,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMutualRecursionA.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA.Descriptor; }
       }
       
       public override TestMutualRecursionA DefaultInstanceForType {
-        get { return TestMutualRecursionA.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA.DefaultInstance; }
       }
       
       public override TestMutualRecursionA BuildPartial() {
@@ -9188,7 +9188,7 @@
       }
       
       public override Builder MergeFrom(TestMutualRecursionA other) {
-        if (other == TestMutualRecursionA.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA.DefaultInstance) return this;
         if (other.HasBb) {
           MergeBb(other.Bb);
         }
@@ -9415,11 +9415,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestMutualRecursionB.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB.Descriptor; }
       }
       
       public override TestMutualRecursionB DefaultInstanceForType {
-        get { return TestMutualRecursionB.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB.DefaultInstance; }
       }
       
       public override TestMutualRecursionB BuildPartial() {
@@ -9441,7 +9441,7 @@
       }
       
       public override Builder MergeFrom(TestMutualRecursionB other) {
-        if (other == TestMutualRecursionB.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB.DefaultInstance) return this;
         if (other.HasA) {
           MergeA(other.A);
         }
@@ -9701,11 +9701,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return Foo.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo.Descriptor; }
           }
           
           public override Foo DefaultInstanceForType {
-            get { return Foo.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo.DefaultInstance; }
           }
           
           public override Foo BuildPartial() {
@@ -9727,7 +9727,7 @@
           }
           
           public override Builder MergeFrom(Foo other) {
-            if (other == Foo.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo.DefaultInstance) return this;
             if (other.HasA) {
               A = other.A;
             }
@@ -9915,11 +9915,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return Bar.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar.Descriptor; }
           }
           
           public override Bar DefaultInstanceForType {
-            get { return Bar.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar.DefaultInstance; }
           }
           
           public override Bar BuildPartial() {
@@ -9941,7 +9941,7 @@
           }
           
           public override Builder MergeFrom(Bar other) {
-            if (other == Bar.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar.DefaultInstance) return this;
             if (other.HasA) {
               A = other.A;
             }
@@ -10142,11 +10142,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestDupFieldNumber.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Descriptor; }
       }
       
       public override TestDupFieldNumber DefaultInstanceForType {
-        get { return TestDupFieldNumber.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.DefaultInstance; }
       }
       
       public override TestDupFieldNumber BuildPartial() {
@@ -10168,7 +10168,7 @@
       }
       
       public override Builder MergeFrom(TestDupFieldNumber other) {
-        if (other == TestDupFieldNumber.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.DefaultInstance) return this;
         if (other.HasA) {
           A = other.A;
         }
@@ -10503,11 +10503,11 @@
           }
           
           public override pbd::MessageDescriptor DescriptorForType {
-            get { return NestedMessage.Descriptor; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage.Descriptor; }
           }
           
           public override NestedMessage DefaultInstanceForType {
-            get { return NestedMessage.DefaultInstance; }
+            get { return global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance; }
           }
           
           public override NestedMessage BuildPartial() {
@@ -10531,7 +10531,7 @@
           }
           
           public override Builder MergeFrom(NestedMessage other) {
-            if (other == NestedMessage.DefaultInstance) return this;
+            if (other == global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance) return this;
             if (other.nestedmessageRepeatedInt32_.Count != 0) {
               base.AddRange(other.nestedmessageRepeatedInt32_, result.nestedmessageRepeatedInt32_);
             }
@@ -10755,11 +10755,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestNestedMessageHasBits.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Descriptor; }
       }
       
       public override TestNestedMessageHasBits DefaultInstanceForType {
-        get { return TestNestedMessageHasBits.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.DefaultInstance; }
       }
       
       public override TestNestedMessageHasBits BuildPartial() {
@@ -10781,7 +10781,7 @@
       }
       
       public override Builder MergeFrom(TestNestedMessageHasBits other) {
-        if (other == TestNestedMessageHasBits.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.DefaultInstance) return this;
         if (other.HasOptionalNestedMessage) {
           MergeOptionalNestedMessage(other.OptionalNestedMessage);
         }
@@ -11217,11 +11217,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestCamelCaseFieldNames.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames.Descriptor; }
       }
       
       public override TestCamelCaseFieldNames DefaultInstanceForType {
-        get { return TestCamelCaseFieldNames.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames.DefaultInstance; }
       }
       
       public override TestCamelCaseFieldNames BuildPartial() {
@@ -11249,7 +11249,7 @@
       }
       
       public override Builder MergeFrom(TestCamelCaseFieldNames other) {
-        if (other == TestCamelCaseFieldNames.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames.DefaultInstance) return this;
         if (other.HasPrimitiveField) {
           PrimitiveField = other.PrimitiveField;
         }
@@ -11859,11 +11859,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestFieldOrderings.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings.Descriptor; }
       }
       
       public override TestFieldOrderings DefaultInstanceForType {
-        get { return TestFieldOrderings.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings.DefaultInstance; }
       }
       
       public override TestFieldOrderings BuildPartial() {
@@ -11885,7 +11885,7 @@
       }
       
       public override Builder MergeFrom(TestFieldOrderings other) {
-        if (other == TestFieldOrderings.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings.DefaultInstance) return this;
         if (other.HasMyString) {
           MyString = other.MyString;
         }
@@ -12207,11 +12207,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestExtremeDefaultValues.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues.Descriptor; }
       }
       
       public override TestExtremeDefaultValues DefaultInstanceForType {
-        get { return TestExtremeDefaultValues.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues.DefaultInstance; }
       }
       
       public override TestExtremeDefaultValues BuildPartial() {
@@ -12233,7 +12233,7 @@
       }
       
       public override Builder MergeFrom(TestExtremeDefaultValues other) {
-        if (other == TestExtremeDefaultValues.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues.DefaultInstance) return this;
         if (other.HasEscapedBytes) {
           EscapedBytes = other.EscapedBytes;
         }
@@ -12952,11 +12952,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestPackedTypes.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestPackedTypes.Descriptor; }
       }
       
       public override TestPackedTypes DefaultInstanceForType {
-        get { return TestPackedTypes.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestPackedTypes.DefaultInstance; }
       }
       
       public override TestPackedTypes BuildPartial() {
@@ -12992,7 +12992,7 @@
       }
       
       public override Builder MergeFrom(TestPackedTypes other) {
-        if (other == TestPackedTypes.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestPackedTypes.DefaultInstance) return this;
         if (other.packedInt32_.Count != 0) {
           base.AddRange(other.packedInt32_, result.packedInt32_);
         }
@@ -13703,11 +13703,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return TestPackedExtensions.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestPackedExtensions.Descriptor; }
       }
       
       public override TestPackedExtensions DefaultInstanceForType {
-        get { return TestPackedExtensions.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.TestPackedExtensions.DefaultInstance; }
       }
       
       public override TestPackedExtensions BuildPartial() {
@@ -13729,7 +13729,7 @@
       }
       
       public override Builder MergeFrom(TestPackedExtensions other) {
-        if (other == TestPackedExtensions.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.TestPackedExtensions.DefaultInstance) return this;
           this.MergeExtensionFields(other);
         this.MergeUnknownFields(other.UnknownFields);
         return this;
@@ -13877,11 +13877,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return FooRequest.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.FooRequest.Descriptor; }
       }
       
       public override FooRequest DefaultInstanceForType {
-        get { return FooRequest.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.FooRequest.DefaultInstance; }
       }
       
       public override FooRequest BuildPartial() {
@@ -13903,7 +13903,7 @@
       }
       
       public override Builder MergeFrom(FooRequest other) {
-        if (other == FooRequest.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.FooRequest.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -14050,11 +14050,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return FooResponse.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.FooResponse.Descriptor; }
       }
       
       public override FooResponse DefaultInstanceForType {
-        get { return FooResponse.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance; }
       }
       
       public override FooResponse BuildPartial() {
@@ -14076,7 +14076,7 @@
       }
       
       public override Builder MergeFrom(FooResponse other) {
-        if (other == FooResponse.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -14223,11 +14223,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return BarRequest.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.BarRequest.Descriptor; }
       }
       
       public override BarRequest DefaultInstanceForType {
-        get { return BarRequest.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.BarRequest.DefaultInstance; }
       }
       
       public override BarRequest BuildPartial() {
@@ -14249,7 +14249,7 @@
       }
       
       public override Builder MergeFrom(BarRequest other) {
-        if (other == BarRequest.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.BarRequest.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
@@ -14396,11 +14396,11 @@
       }
       
       public override pbd::MessageDescriptor DescriptorForType {
-        get { return BarResponse.Descriptor; }
+        get { return global::Google.ProtocolBuffers.TestProtos.BarResponse.Descriptor; }
       }
       
       public override BarResponse DefaultInstanceForType {
-        get { return BarResponse.DefaultInstance; }
+        get { return global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance; }
       }
       
       public override BarResponse BuildPartial() {
@@ -14422,7 +14422,7 @@
       }
       
       public override Builder MergeFrom(BarResponse other) {
-        if (other == BarResponse.DefaultInstance) return this;
+        if (other == global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance) return this;
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }