http://msdn.microsoft.com/zh-us / library / microsoft.sharepoint.spsecurity.aspx

Microsoft.SharePoint.SPSecurity is in
Namespace: Microsoft.SharePoint 
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
.

对于SharePoint 2013

但是当我ilspy或对象浏览器或试图在Visual Studio中尝试解决引用时,它不存在!

因为我找不到这个网上的任何东西,我知道这只是我做出了重大监督,但是什么?!?

有帮助吗?

解决方案

If I load a reference to Microsoft.Sharepoint.DLL inside a visual studio project, the added assembly is located at "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.dll".

When inspected with ILSpy this assembly does contain the SPSecurity class.

I'm not quite sure why you don't see it. But the build of the assembly differs from yours.

enter image description here

其他提示

Here's the answer when you are using sandbox mode to develop, the SPSecurity class can't be accessed. Just use farm solution and you'll find that.

See Inside Microsoft SharePoint 2010
Chapter 4: Sandboxed Solutions (Inside SharePoint 2010)

Understanding Solution Restrictions
Restricting the access of sandboxed solutions to a subset of the Microsoft.SharePoint namespace is intended to prevent solutions from accessing functionality that could destabilize the farm. When sandboxed solutions make calls to the SharePoint object model, the calls are routed through the subset proxy, which in turn makes calls to the full object model. The subset proxy exposes only the following subset of the object model: All of the Microsoft.SharePoint namespace, except

  • SPSite constructor
  • SPSecurity object
  • SPWorkItem and
  • SPWorkItemCollection objects
  • SPAlertCollection.Add method
  • SPAlertTemplateCollection.Add method
  • SPUserSolution and
  • SPUserSolutionCollection objects
  • SPTransformUtilities object
  • Microsoft.SharePoint.Navigation namespace
许可以下: CC-BY-SA归因
scroll top