几个月前,我使用Visual Studio的Christoc模板为DNN构建了自定义主题。我今天需要做一些小的HTML调整,所以我重新打开解决方案并进行了更改,但是当我重建项目时,我遇到了一些构建错误,大概是因为它不再能够识别我的DNN dll:
找不到类型或名称空间名称'DotNetNuke'(您是否缺少using指令或程序集引用?)
我检查了C:\path_to\dnndev.me\bin\DotNetNuke.dll
,它仍然存在,所以我不确定为什么Visual Studio看不到它。
最初构建皮肤时,我正在运行DNN 9.1.1,但此后已升级到9.3.2。会导致我的问题吗?
我读过elsewhere,说我可能是在不正确的.NET Framework版本上构建的,但是我不知道DNN 9.3.2使用哪个版本,因此我尝试了几种不同的版本,结果没有变化。
我该如何解决这个问题?
更新:
根据这里的答案,我使用.NET 4.7.2进行了重建,但是它并不能解决我的问题。
更新2:
好的,所以我所做的小更改是添加了另一个布局页面,例如模板随附的Home.ascx和Edit.ascx文件。如果我删除了新的布局文件,项目将正常运行。
添加新布局时我会怎么做?
答案 0 :(得分:0)
您所读到的有关.Net框架版本的信息是正确的。您需要4.7.2。
答案 1 :(得分:0)
问题是我创建了一个新布局。我右键单击该项目,然后选择Add > New Item
,然后选择Web Forms User Control
。这是添加新布局的错误方法。
我通过复制/粘贴模板的现有布局之一并重命名成功添加了它。该项目现在构建良好。
答案 2 :(得分:0)
啊,现在我知道出了什么问题。添加Web(表单)用户控件并不是完全错误,因为外观(或主题)是Web用户控件的一种,并且具有相同的扩展名(.ascx)。
您要做的是删除文件(.ascx.vb或.ascx.cs)后面的代码,并将ascx文件的第一行更改为
@media only screen and (min-width: 960px) {
#outro {
display: flex;
flex-wrap: wrap;
}
#outro h4 {
flex: 100%;
width: 100%;
color: #FFE121;
font-size: 40px;
text-align: center;
padding: 30px 10px;
border-top: solid 2px #FFFFF6;
}
#outro img {
padding: 10px 10px;
flex: 1;
padding-bottom: 40px;
justify-content: center;
align-items: center;
}
#outro img:first-of-type {
flex: 2;
order: 2;
}
#outro img:last-of-type {
order: 3;
padding-bottom: 44px;
}
}
(但是复制另一个皮肤文件也是一个很好的解决方案,因为很可能您已经拥有对皮肤对象的大多数引用了)