Kentico UserInfoProvider funktioniert in einer Konsolenanwendung nicht wie erwartet

Dieser Code funktioniert problemlos auf einer Kentico-Website:

var users = UserInfoProvider.GetUsers();
for (int x = 0; x < users.Count(); x++
{
    UserInfo currentUser = users.ElementAt(x);
    currentUser.SetValue("AcceptsAlerts", equivalentSubscriber.Status != SubscriberStatus.Unsubscribed);
    UserInfoProvider.SetUserInfo(currentUser);
}

Wenn ich den Code in eine Konsolenanwendung verschiebe, führen alle Aufrufe von UserInfoProvider zu dem Fehler: "Objekttyp 'cms.usersettings' nicht gefunden"

Für den ersten Aufruf, um die Benutzer zu erhalten, kann ich dies in der Konsolen-App folgendermaßen tun:

DataSet usersds = new CMS.DataEngine.DataQuery("cms.user.selectall").Execute();

then Tabelle1 des Datensatzes mit den Benutzerdaten durchlaufen:

UserInfo currentUser = new UserInfo(dtUsers.Rows[x]);

All ist in Ordnung und funktioniert, bis ich komme, um den aktualisierten Benutzer zurück in die Datenbank zu schreiben. Ich kann keine andere Möglichkeit finden, die Daten zu schreiben, als @ anzurufe

UserInfoProvider.SetUserInfo(currentUser);

Kennt jemand einen anderen Weg, um die Benutzerdaten zu speichern? oder um den Fehler zu beheben. Der Fehler ist ein Laufzeitfehler und soweit ich weiß, habe ich auf alles verwiesen, was ich brauche. Das Feld, das ich bearbeite, ist ein benutzerdefiniertes Feld, das der cmsUser-Tabelle hinzugefügt wird.

using Anweisungen für info:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using CMS;
using CMS.CustomTables;
using CMS.DataEngine;
using CMS.Membership;

Antworten auf die Frage(6)

Ihre Antwort auf die Frage