public sealed class ClientLibrarySettings : IMessage<ClientLibrarySettings>, IEquatable<ClientLibrarySettings>, IDeepCloneable<ClientLibrarySettings>, IBufferMessage, IMessage
Details about how and where to publish client libraries.
Version of the API to apply these settings to. This is the full protobuf
package for the API, ending in the version element.
Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eClientLibrarySettings\u003c/code\u003e class provides details on publishing client libraries and is part of the \u003ccode\u003eGoogle.Api\u003c/code\u003e namespace within the \u003ccode\u003eGoogle.Api.CommonProtos.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"],["\u003cp\u003eThis class supports multiple programming languages by including settings for C++, .NET, Go, Java, Node, PHP, Python, and Ruby client libraries.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eClientLibrarySettings\u003c/code\u003e has constructors for creating new instances and offers methods for calculating size, cloning, comparing equality, merging data, and converting to a string.\u003c/p\u003e\n"],["\u003cp\u003eThe class also details multiple properties such as \u003ccode\u003eLaunchStage\u003c/code\u003e, \u003ccode\u003eVersion\u003c/code\u003e, \u003ccode\u003eRestNumericEnums\u003c/code\u003e, as well as corresponding settings for each supported language, each with a field number.\u003c/p\u003e\n"],["\u003cp\u003eThere are multiple versions of the \u003ccode\u003eClientLibrarySettings\u003c/code\u003e, with the latest being version 2.15.0, and previous versions 2.10.0, and 2.2.0 also being linked.\u003c/p\u003e\n"]]],[],null,["# Class ClientLibrarySettings (2.17.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.ClientLibrarySettings)\n- [2.15.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.15.0/Google.Api.ClientLibrarySettings)\n- [2.10.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.10.0/Google.Api.ClientLibrarySettings)\n- [2.2.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.2.0/Google.Api.ClientLibrarySettings) \n\n public sealed class ClientLibrarySettings : IMessage\u003cClientLibrarySettings\u003e, IEquatable\u003cClientLibrarySettings\u003e, IDeepCloneable\u003cClientLibrarySettings\u003e, IBufferMessage, IMessage\n\nDetails about how and where to publish client libraries. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ClientLibrarySettings \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ClientLibrarySettings](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.ClientLibrarySettings), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ClientLibrarySettings](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.ClientLibrarySettings), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ClientLibrarySettings](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.ClientLibrarySettings), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals)\n\nNamespace\n---------\n\n[Google.Api](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api)\n\nAssembly\n--------\n\nGoogle.Api.CommonProtos.dll\n\nConstructors\n------------\n\n### ClientLibrarySettings()\n\n public ClientLibrarySettings()\n\n### ClientLibrarySettings(ClientLibrarySettings)\n\n public ClientLibrarySettings(ClientLibrarySettings other)\n\nFields\n------\n\n### CppSettingsFieldNumber\n\n public const int CppSettingsFieldNumber = 22\n\nField number for the \"cpp_settings\" field.\n\n### DotnetSettingsFieldNumber\n\n public const int DotnetSettingsFieldNumber = 26\n\nField number for the \"dotnet_settings\" field.\n\n### GoSettingsFieldNumber\n\n public const int GoSettingsFieldNumber = 28\n\nField number for the \"go_settings\" field.\n\n### JavaSettingsFieldNumber\n\n public const int JavaSettingsFieldNumber = 21\n\nField number for the \"java_settings\" field.\n\n### LaunchStageFieldNumber\n\n public const int LaunchStageFieldNumber = 2\n\nField number for the \"launch_stage\" field.\n\n### NodeSettingsFieldNumber\n\n public const int NodeSettingsFieldNumber = 25\n\nField number for the \"node_settings\" field.\n\n### PhpSettingsFieldNumber\n\n public const int PhpSettingsFieldNumber = 23\n\nField number for the \"php_settings\" field.\n\n### PythonSettingsFieldNumber\n\n public const int PythonSettingsFieldNumber = 24\n\nField number for the \"python_settings\" field.\n\n### RestNumericEnumsFieldNumber\n\n public const int RestNumericEnumsFieldNumber = 3\n\nField number for the \"rest_numeric_enums\" field.\n\n### RubySettingsFieldNumber\n\n public const int RubySettingsFieldNumber = 27\n\nField number for the \"ruby_settings\" field.\n\n### VersionFieldNumber\n\n public const int VersionFieldNumber = 1\n\nField number for the \"version\" field.\n\nProperties\n----------\n\n### CppSettings\n\n public CppSettings CppSettings { get; set; }\n\nSettings for C++ client libraries.\n\n### Descriptor\n\n public static MessageDescriptor Descriptor { get; }\n\n### DotnetSettings\n\n public DotnetSettings DotnetSettings { get; set; }\n\nSettings for .NET client libraries.\n\n### GoSettings\n\n public GoSettings GoSettings { get; set; }\n\nSettings for Go client libraries.\n\n### JavaSettings\n\n public JavaSettings JavaSettings { get; set; }\n\nSettings for legacy Java features, supported in the Service YAML.\n\n### LaunchStage\n\n public LaunchStage LaunchStage { get; set; }\n\nLaunch stage of this version of the API.\n\n### NodeSettings\n\n public NodeSettings NodeSettings { get; set; }\n\nSettings for Node client libraries.\n\n### Parser\n\n public static MessageParser\u003cClientLibrarySettings\u003e Parser { get; }\n\n### PhpSettings\n\n public PhpSettings PhpSettings { get; set; }\n\nSettings for PHP client libraries.\n\n### PythonSettings\n\n public PythonSettings PythonSettings { get; set; }\n\nSettings for Python client libraries.\n\n### RestNumericEnums\n\n public bool RestNumericEnums { get; set; }\n\nWhen using transport=rest, the client request will encode enums as\nnumbers rather than strings.\n\n### RubySettings\n\n public RubySettings RubySettings { get; set; }\n\nSettings for Ruby client libraries.\n\n### Version\n\n public string Version { get; set; }\n\nVersion of the API to apply these settings to. This is the full protobuf\npackage for the API, ending in the version element.\nExamples: \"google.cloud.speech.v1\" and \"google.spanner.admin.database.v1\".\n\nMethods\n-------\n\n### CalculateSize()\n\n public int CalculateSize()\n\n### Clone()\n\n public ClientLibrarySettings Clone()\n\n### Equals(ClientLibrarySettings)\n\n public bool Equals(ClientLibrarySettings other)\n\n### Equals(object)\n\n public override bool Equals(object other)\n\n**Overrides** \n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object))\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### MergeFrom(ClientLibrarySettings)\n\n public void MergeFrom(ClientLibrarySettings other)\n\n### MergeFrom(CodedInputStream)\n\n public void MergeFrom(CodedInputStream input)\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### WriteTo(CodedOutputStream)\n\n public void WriteTo(CodedOutputStream output)"]]