首页 > 解决方案 > 无法编辑 DotNetNuke 源文件

问题描述

我是DotNetNuke框架的新手。目前正在开发 DNN 07.04.01 (280) 版本。

问题

在 DNN 源文件中所做的更改甚至在我运行时都不会被识别。

我正在开发“ UserAccounts ”模块。我们有一个名为“UserController.cs”的控制器。我无法添加或编辑此源文件,这意味着我可以更改代码,但在调试文件时不会影响更改,它执行相同的旧代码,甚至无法识别新代码。

这可能很奇怪,但我正面临着这个。

我尝试过的

我试图根据这个问题在 DNN 论坛中搜索,但没有希望。

有什么办法可以解决这个问题吗?这将是可观的。请帮助我们解决这个问题。

public HttpResponseMessage Update([FromBody] JObject jsonData)

{

var user = jsonData.ToObject<CMSUser>();

var password = user.Password;

var apiToken = user.Token;

HttpResponseMessage response;

var pwd = password;

//dynamic json = jsonData;

//JValue apiToken = json["apiToken"];

//JObject userJson = json["user"];

if (password == null ||

apiToken == null ||

InitializeApiRequest(apiToken.ToString(CultureInfo.InvariantCulture)) != null)

{

return Request.CreateResponse(HttpStatusCode.BadRequest, ApiResponse);

}

//var user = userJson.ToObject<CMSUser>();

UserInfo dnnUser;

//HttpResponseMessage response;

if (!UpdateDnnUserWithCMSUser(user, out dnnUser, out response)) { return response; }

try

{

DotNetNuke.Entities.Users.UserController.UpdateUser(PortalSettings.PortalId, dnnUser);

ApiResponse = new DnnApiResponse(true, "User Updated", user);

}

catch (Exception e)

{

ApiResponse = new DnnApiResponse(false, "User Update Failed: " + e.Message);

}

return Request.CreateResponse(HttpStatusCode.BadRequest, ApiResponse);

}

我希望我对我提出的问题很清楚。请帮我克服它。

标签: c#dotnetnuke-7dotnetnuke

解决方案


DNN 主要经过编译,代码位于各种 DLL 文件中。

如果要更改用户帐户模块,则需要重新编译模块,创建可安装包,然后重新安装模块。

顺便说一句,对核心功能进行更改是一个冒险的提议,因为任何时候升级都会覆盖更改。最好建议您创建自己的任何模块版本,并安装它们以替换核心功能。然后,您将主要保证您使用的是“库存” DNN,并且在升级时您不会丢失更改。

顺便说一句,您应该知道 DNN 的当前版本是 9.x。如果可能的话,使用当前版本是有意义的。


推荐阅读