|  | @@ -48,7 +48,9 @@ namespace Google.Protobuf.Conformance
 | 
	
		
			
				|  |  |              // This way we get the binary streams instead of readers/writers.
 | 
	
		
			
				|  |  |              var input = new BinaryReader(Console.OpenStandardInput());
 | 
	
		
			
				|  |  |              var output = new BinaryWriter(Console.OpenStandardOutput());
 | 
	
		
			
				|  |  | -            var typeRegistry = TypeRegistry.FromMessages(ProtobufTestMessages.Proto3.TestAllTypesProto3.Descriptor);
 | 
	
		
			
				|  |  | +            var typeRegistry = TypeRegistry.FromMessages(
 | 
	
		
			
				|  |  | +                ProtobufTestMessages.Proto3.TestAllTypesProto3.Descriptor,
 | 
	
		
			
				|  |  | +                ProtobufTestMessages.Proto2.TestAllTypesProto2.Descriptor);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              int count = 0;
 | 
	
		
			
				|  |  |              while (RunTest(input, output, typeRegistry))
 | 
	
	
		
			
				|  | @@ -81,7 +83,7 @@ namespace Google.Protobuf.Conformance
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private static ConformanceResponse PerformRequest(ConformanceRequest request, TypeRegistry typeRegistry)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            ProtobufTestMessages.Proto3.TestAllTypesProto3 message;
 | 
	
		
			
				|  |  | +            IMessage message;
 | 
	
		
			
				|  |  |              try
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  switch (request.PayloadCase)
 | 
	
	
		
			
				|  | @@ -101,7 +103,13 @@ namespace Google.Protobuf.Conformance
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          else if (request.MessageType.Equals("protobuf_test_messages.proto2.TestAllTypesProto2"))
 | 
	
		
			
				|  |  |                          {
 | 
	
		
			
				|  |  | -                            return new ConformanceResponse { Skipped = "CSharp doesn't support proto2" };
 | 
	
		
			
				|  |  | +                            ExtensionRegistry registry = new ExtensionRegistry()
 | 
	
		
			
				|  |  | +                            {
 | 
	
		
			
				|  |  | +                                ProtobufTestMessages.Proto2.TestMessagesProto2Extensions.ExtensionInt32,
 | 
	
		
			
				|  |  | +                                ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1.Extensions.MessageSetExtension,
 | 
	
		
			
				|  |  | +                                ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2.Extensions.MessageSetExtension
 | 
	
		
			
				|  |  | +                            };
 | 
	
		
			
				|  |  | +                            message = ProtobufTestMessages.Proto2.TestAllTypesProto2.Parser.WithExtensionRegistry(registry).ParseFrom(request.ProtobufPayload);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          else
 | 
	
		
			
				|  |  |                          {
 |