I have never really had too much cause to use this method before but I am developing some generic classes to deal with column, content type and list management for use in a series of features. My ListHelper class has a method called DeleteList which looks like this: Public Shared Function DeleteList(ByVal List As SPList, ByVal Operation As DeleteOperation) As Boolean If Operation = DeleteOperation.DeleteWithBackup Or Operation = DeleteOperation.ForcedDeleteWithBackup Then SaveListAsTemplate(List, True) End If If Operation = DeleteOperation.ForcedDelete Or Operation = DeleteOperation.ForcedDeleteWithBackup Then If List.AllowDeletion = False Then List.AllowDeletion = True List.Update() End If End If Try List.Delete() Catch ex As Exception Return False End Try Return True End Function This is very much a work in progress, but I am having trouble with the SaveListAsTemplate method which looks like this: Public Shared Function SaveListAsTemplate(ByVal List As SPList, ByVal SaveContent As Boolean) As String If HttpContext.Current IsNot Nothing Then Dim tmpFileName As String = List.Title & "_saved_" & Now.ToFileTimeUtc & ".stp" List.SaveAsTemplate(tmpFileName, List.Title, "list template saved programmatically", SaveContent) Return List.ParentWeb.Site.Url & "/_catalogs/lt/" & tmpFileName Else Throw New Exception("List template cannot be saved unless the code is running in a valid HttpContext") End If End Function The reason for the check into HttpContext is possibly not required, this is the reason for my post. I cannot get this code to execute from within a console application. Does the SPList.SaveAsTemplate method require a HttpContext? If it does it is not metioned in any of the docs that I have seen. As an aside any other comments on this code gratefully received. **EDIT: Exception and Stack Trace** > System.ArgumentException "Value does > not fall within the expected range" > at > Microsoft.SharePoint.SPGlobal.HandleException(Exception > ex) at > Microsoft.SharePoint.SPList.SaveAsTemplate(String > strFileName, String strName, String > strDescription, Boolean bSaveData) > at > XXXXXX.SharePoint.Lists.ListHelper.SaveListAsTemplate(SPList > List, Boolean SaveContent) in > C:\SharePoint Development > Projects\XXXXXX.SharePoint\XXXXXX.SharePoint\Lists\ListHelper.vb:line > 145 at > XXXXXX.SharePoint.Lists.ListHelper.DeleteList(SPList > List, DeleteOperation Operation) in > C:\SharePoint Development > Projects\XXXXXX.SharePoint\XXXXXX.SharePoint\Lists\ListHelper.vb:line > 121 at > XXXXXX.SharePoint.Lists.ListHelper.DeleteList(SPWeb > Web, String ListName, DeleteOperation > Operation) in C:\SharePoint > Development > Projects\XXXXXX.SharePoint\XXXXXX.SharePoint\Lists\ListHelper.vb:line > 111 at > XXXXXX_Feature_Receiver.XXXXXXDataStructureFeatureFactory.CreateOrUpdateListInstances(SPWeb > Web) in C:\TestBed\XXXXXX Feature > Receiver Development\XXXXXX Feature > Receiver\XXXXXXDataStructureFeatureFactory.vb:line > 37 at > XXXXXX_Feature_Receiver.XXXXXXDataStructureFeatureFactory.Initiate(SPWeb > Web) in C:\TestBed\XXXXXX Feature > Receiver Development\XXXXXX Feature > Receiver\XXXXXXDataStructureFeatureFactory.vb:line > 14 at > XXXXXX_Feature_Receiver.Module1.Main() > in C:\TestBed\XXXXXX Feature Receiver > Development\XXXXXX Feature > Receiver\Module1.vb:line 11 at > System.AppDomain._nExecuteAssembly(Assembly > assembly, String[] args) at > System.AppDomain.ExecuteAssembly(String > assemblyFile, Evidence > assemblySecurity, String[] args) at > Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() > at > System.Threading.ThreadHelper.ThreadStart_Context(Object > state) at > System.Threading.ExecutionContext.Run(ExecutionContext > executionContext, ContextCallback > callback, Object state) at > System.Threading.ThreadHelper.ThreadStart()"