// M2ProjectOptions protected virtual List <string> GetDefaultNuGetPackagesForProjectOptions(M2ProjectOptions options) { var packageIds = new List <string>(); switch (options.ProjectType) { case ProjectType.Foundation: { packageIds.Add("spmeta2.core"); } break; case ProjectType.Standard: { packageIds.Add("spmeta2.core"); packageIds.Add("spmeta2.core.standard"); } break; } switch (options.ProjectPlatform) { case ProjectPlatform.SP2013SSOM: { packageIds.Add("spmeta2.core"); packageIds.Add("spmeta2.ssom.foundation"); if (options.ProjectType == ProjectType.Standard) { packageIds.Add("spmeta2.ssom.standard"); } }; break; case ProjectPlatform.SP2013CSOM: { packageIds.Add("spmeta2.core"); packageIds.Add("spmeta2.csom.foundation"); if (options.ProjectType == ProjectType.Standard) { packageIds.Add("spmeta2.csom.standard"); } }; break; case ProjectPlatform.O365CSOM: { packageIds.Add("spmeta2.core"); packageIds.Add("SPMeta2.CSOM.Foundation-v16"); packageIds.Add("microsoft.sharepointonline.csom"); if (options.ProjectType == ProjectType.Standard) { packageIds.Add("SPMeta2.CSOM.Standard-v16"); } }; break; } return(packageIds.Distinct().ToList()); }
protected virtual void HandleDefaultReferenciesForProjectOptions(VSProject project, M2ProjectOptions options) { // adding correct switch (options.ProjectPlatform) { case ProjectPlatform.SP2013SSOM: { project.References.Add("Microsoft.SharePoint"); project.References.Add("Microsoft.SharePoint.Security"); if (options.ProjectType == ProjectType.Standard) { project.References.Add("Microsoft.SharePoint.Portal"); project.References.Add("Microsoft.SharePoint.Publishing"); project.References.Add("Microsoft.SharePoint.Taxonomy"); } } break; case ProjectPlatform.SP2013CSOM: { project.References.Add("Microsoft.SharePoint.Client"); project.References.Add("Microsoft.SharePoint.Client.Runtime"); if (options.ProjectType == ProjectType.Standard) { project.References.Add("Microsoft.SharePoint.Client.Publishing"); project.References.Add("Microsoft.SharePoint.Client.Taxonomy"); } } break; case ProjectPlatform.O365CSOM: { // skip it, it'll be via NuGet //project.References.Add("Microsoft.SharePoint.Client"); //project.References.Add("Microsoft.SharePoint.Client.Runtime"); //if (options.ProjectType == ProjectType.Standard) //{ // project.References.Add("Microsoft.SharePoint.Client.Publishing"); // project.References.Add("Microsoft.SharePoint.Client.Taxonomy"); //} } break; } }