Note: So far there is not any property available to set threshold limit for minor/major versions. So its takes default values for both.
//Constant values
private const string userName = "[email protected]";
private const string password = "password";
private const string siteURL = "your site url";
private const string listTitle = "your document library title";
//Code which creates context
ClientContext context = new ClientContext(siteURL);
Web web = context.Web;
SecureString pwd = new SecureString();
foreach (char c in password.ToCharArray()) pwd.AppendChar(c);
context.Credentials = new SharePointOnlineCredentials(userName, pwd);
context.Load(web);
context.ExecuteQuery();
// code enables versioning
List list = context.Web.Lists.GetByTitle(listTitle);
context.Load(list, l => l.EnableVersioning, l => l.EnableMinorVersions);
context.ExecuteQuery();
list.EnableVersioning = true;
if (list.EnableVersioning)
{
list.EnableMinorVersions = true;
}
list.Update();
context.ExecuteQuery();
Console.WriteLine("Updated.\n");