Доброе утро. Используя C#, мы пытаемся создать нового пользователя Windows 8/8.1 в приложении для хранения Windows. Но используемый ниже код не работает, потому что пространство имен «System.DirectoryServices.AccountManagement» недоступно.Создание нового пользователя Windows 8/8.1 с приложением Windows Store
public UserPrincipal CreateNewUser(string a_userName, string sPassword)
{
if (!UserExists(a_userName))
{
PrincipalContext oPrincipalContext = GetPrincipalContext();
UserPrincipal oUserPrincipal = new UserPrincipal(oPrincipalContext);
oUserPrincipal.Name = a_userName;
oUserPrincipal.SetPassword(sPassword);
//User Log on Name
oUserPrincipal.UserPrincipalName = a_userName;
oUserPrincipal.Save();
return oUserPrincipal;
}
// if it already exists, return null
return null;
}
private PrincipalContext GetPrincipalContext()
{
PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Machine);
return oPrincipalContext;
}
private bool UserExists(string a_userName)
{
using (var pc = new PrincipalContext(ContextType.Machine))
{
using (var p = Principal.FindByIdentity(pc, IdentityType.SamAccountName, a_userName))
{
return p != null;
}
}
}
Мы не знаем, как найти способ создать пользователь окна (с или без пароля он не имеет значения), потому что все пространства имен для этого необходимых предметов или услуг не доступны в проекте Магазина приложений для Windows.
Если попытаться импортировать некоторые DLL ошибки является:
«Ссылка на„[Dll путь]“не могут быть добавлены проектные цели„.Net Ядро“, а„.NetFramework“файл целей. . Это не поддерживаемый sceneraio "
Есть ли возможное решение?
Исправить. AccountManagement - это API с полным доверием, который недоступен для хранения приложений. Существует несколько таких API, которые предназначены для самой ОС, входящих (привилегированных) приложений, таких как настройки Store/PC и настольных приложений. –