在我的 SharePoint 代码中,我有以下行:
SPWeb web = site.RootWeb; //site is an SPSite object
当我重建我的项目并在程序集上运行 SPDispose 工具时,我收到以下错误:
模块:Blah.SharePoint.Features.Core.dll 方法:Blah.SharePoint.Features.Core.Helpers.FeatureDeploymentHelper.RemoveWebPartFiles(Microsoft.SharePoint.SPFeatureReceiverProperties,System.String) 声明:web := site.{Microsoft.SharePoint.SPSite }get_RootWeb() 来源:C:\xxx\xxx\Main\Source\SharePoint\Features\Core\Helpers\FeatureDeploymentHelper.cs 行:26
注意:未处理的一次性类型:Microsoft.SharePoint.SPWeb
***这可能是误报,具体取决于类型的创建方式或是否在当前范围之外处理更多信息:http: //blogs.msdn.com/ rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx#SPDisposeCheckID_140
我想要做的是让 SPDispose 工具忽略此错误,因此我已将 SPDisposeCheckIgnore 类和支持枚举提取到我的项目中,并且我已经适当地修饰了我的方法:
[SPDisposeCheckIgnore(SPDisposeCheckID.SPDisposeCheckID_140, "RootWeb does not need disposed.")]
public static void RemoveWebPartFiles(SPFeatureReceiverProperties properties, string assemblyName)
{
...
}
完成所有这些操作后,我仍然收到错误消息。任何人都知道我可能会如何摆脱这个错误?