C# 无法编辑DotNetNuke源文件
我是DotNetNuke框架的新手。目前正在使用DNN 07.04.01(280)版本 问题: 在DNN源文件中所做的更改在我运行它时甚至无法识别 我正在开发“用户帐户””模块。我们有一个名为“UserController.cs”的控制器。我无法添加或编辑此源文件,这意味着我可以更改代码,但在调试文件时不会影响更改,它执行相同的旧代码,甚至无法识别新代码 这可能是一个奇怪的问题,但我面临着这个问题 我所尝试的: 我试图在DNN论坛上搜索这个问题,但没有希望 有没有解决这个问题的办法?这将是可观的。请帮助我们进入这个领域C# 无法编辑DotNetNuke源文件,c#,dotnetnuke,dotnetnuke-7,dnn-module,C#,Dotnetnuke,Dotnetnuke 7,Dnn Module,我是DotNetNuke框架的新手。目前正在使用DNN 07.04.01(280)版本 问题: 在DNN源文件中所做的更改在我运行它时甚至无法识别 我正在开发“用户帐户””模块。我们有一个名为“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);
}
public HttpResponseMessage更新([FromBody]JObject jsonData)
{
var user=jsonData.ToObject();
var password=user.password;
var apiToken=user.Token;
HttpResponseMessage响应;
var pwd=密码;
//动态json=jsonData;
//JValue-apiToken=json[“apiToken”];
//JObject userJson=json[“用户”];
如果(密码==null)||
apiToken==null||
InitializeAppireQuest(apiToken.ToString(CultureInfo.InvariantCulture))!=null)
{
返回请求.CreateResponse(HttpStatusCode.BadRequest,ApiResponse);
}
//var user=userJson.ToObject();
用户信息dnuser;
//HttpResponseMessage响应;
如果(!updatednuserwithcmsuser(user,out dnuser,out response)){return response;}
尝试
{
DotNetNuke.Entities.Users.UserController.UpdateUser(PortalSettings.PortalId,dnuser);
ApiResponse=新的DnnApiResponse(真,“用户已更新”,用户);
}
捕获(例外e)
{
ApiResponse=newDNNAPIResponse(false,“用户更新失败:”+e.Message);
}
返回请求.CreateResponse(HttpStatusCode.BadRequest,ApiResponse);
}
我希望我清楚地回答了我提出的问题。请帮我解决这个问题。DNN主要是编译的,代码驻留在各种DLL文件中 如果要更改用户帐户模块,则需要重新编译该模块,创建一个可安装的包,然后重新安装该模块 正如旁注一样,对核心功能进行更改是一个危险的提议,因为在升级时更改将被覆盖。您最好创建自己版本的任何模块,并安装它们以替换核心功能。这样,您就可以保证您使用的是“库存”DNN,并且在升级时不会丢失更改
另一方面,请注意,您应该知道DNN的当前版本是9.x。如果可能的话,使用当前版本是有意义的。嗨,乔·克雷格,非常感谢你的回复。正如你提到的,比如创建一个可安装的包,然后重新安装模块。我不知道这个过程。是否有任何链接可用于创建包并将其重新安装到我的项目中。你能在这方面指导我吗。这将更有帮助,也更有价值。提前感谢。从Wrox提供的专业DNN书籍开始,并在亚马逊上提供。这些将为您提供DNN体系结构的详细信息。米奇·塞勒斯(Mitch Sellers)的专业DotNetNuke模块编程也是一个不错的选择,它将引导您实际构建模块。我还推荐Chris Hammond(Christoc)提供的免费模块开发模板,您可以从store.dnnsoftware.com下载。在dnnsoftware.com上还有很多资源,特别是wiki。还有一个文档中心正在开发中,其中包含有用的信息。非常感谢您宝贵的时间和指导。