这个人今天吃完了我的时间。我升级了一个最初是由旧版DotNetNuke构建的网络应用程序。遗留应用程序在DNN中创建了一个用户,我认为这个用户非常简单。我将原始代码从VB.net转换为c#,更新为最新的DNN Core和DNN Infrastructure Nuget包。当我运行我的代码时,我收到此错误:
类型' System.TypeInitializationException'的例外情况发生在DotNetNuke.dll中但未在用户代码中处理
我已经在线查看了几组用于在DotNetNuke中创建用户的示例代码,我的代码似乎非常密切地遵循这些(见下文)。当我单步执行代码时,dnnUser对象上的每个属性似乎都被正确填充,但是当它到达执行Membership.CreateUserStatus的行时,它始终会因上述错误而失败。关于这里发生了什么,或者我如何解决这个问题的想法?
public myUser SaveUser(myUser ngUser)
{
DotNetNuke.Entities.Users.UserInfo dnnUser = new DotNetNuke.Entities.Users.UserInfo();
dnnUser.Email = ngUser.Email;
dnnUser.Username = ngUser.Username;
dnnUser.DisplayName = ngUser.FirstName + " " + ngUser.LastName;
dnnUser.FirstName = ngUser.FirstName;
dnnUser.LastName = ngUser.LastName;
dnnUser.PortalID = 0;
dnnUser.Membership.Password = ngUser.Password;
dnnUser.Membership.Approved = true;
dnnUser.Membership.CreatedDate = DateTime.Now;
if (ngUser.UserID == 0)
{
DotNetNuke.Security.Membership.UserCreateStatus status = DotNetNuke.Entities.Users.UserController.CreateUser(ref dnnUser);
if (status == DotNetNuke.Security.Membership.UserCreateStatus.Success)
{