收到“无法找到类型或命名空间名称'LayoutsPageBase'的错误”

时间:2013-12-23 10:12:46

标签: c# asp.net sharepoint visual-studio-2012 sharepoint-2013

为了向您提供完整的视角,我尝试在SharePoint中创建自定义功能区。为此我遵循这个tutorial。我创建了所需的功能,并能够使用简单的JavaScript警报进行部署和测试。现在我试图点击功能区按钮调用ASPX页面。

为此我在项目中创建了一个Application Page。但是在ASP.NET页面的代码隐藏文件中,我收到以下错误:

The type or namespace name 'LayoutsPageBase' could not be found (are you missing a using directive or an assembly reference?)
C:\Users\Administrator\Documents\Visual Studio 2012\Projects\CustomRibbonButton\CustomRibbonButton\Layouts\CustomRibbonButton\ApplicationPage1.aspx.cs

我已导入(我希望你在C#中称之为)Microsoft.SharePoint.WebControls并带有声明using Microsoft.SharePoint.WebControls;

从StackOverflow上的this question我可以看出沙箱解决方案中没有LayoutsPageBase类(路径为\UserCode\assemblies)。

所以在我的项目中,我去了References > Microsoft.SharePoint,右键单击它以查看其属性。其属性窗口中的Path显示为C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.dll

这个错误的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:7)

您可以通过右键单击解决方案资源管理器中的项目并查看相关内容来检查SharePoint项目是否为沙盒。

有一个名为Sandboxed Solution的真/假属性。