/// <summary> /// Gets the specified resource paths as metadata workspace info objects. /// </summary> /// <param name="resourcePaths">The metadata resource paths.</param> /// <returns>The metadata workspace info objects.</returns> private static IEnumerable <MetadataWorkspaceInfo> GetMetadataWorkspaceInfos(IEnumerable <string> resourcePaths) { // for file paths, you would want to group without the path or the extension like Path.GetFileNameWithoutExtension, but resource names can contain // forbidden path chars, so don't use it on resource names foreach (var group in resourcePaths.GroupBy(p => p.Substring(0, p.LastIndexOf('.')), StringComparer.InvariantCultureIgnoreCase)) { yield return(MetadataWorkspaceInfo.Create(group)); } }