diff --git a/mdoc/Consts.cs b/mdoc/Consts.cs
index a0045b33..0bbaffcc 100644
--- a/mdoc/Consts.cs
+++ b/mdoc/Consts.cs
@@ -3,7 +3,7 @@ namespace Mono.Documentation
{
public static class Consts
{
- public static string MonoVersion = "5.9.4";
+ public static string MonoVersion = "5.9.4.1";
public const string DocId = "DocId";
public const string CppCli = "C++ CLI";
public const string CppCx = "C++ CX";
diff --git a/mdoc/Mono.Documentation/MDocUpdater.cs b/mdoc/Mono.Documentation/MDocUpdater.cs
index ae11ab8a..0c23c372 100644
--- a/mdoc/Mono.Documentation/MDocUpdater.cs
+++ b/mdoc/Mono.Documentation/MDocUpdater.cs
@@ -818,14 +818,14 @@ IndexForTypes CreateIndexForTypes (string dest)
/// A typle that contains 1) the 'reltypefile', 2) the 'typefile', and 3) the file info
bool TryFindTypeFile (string nsname, string typename, string basepath, out Tuple result)
{
- string reltypefile = DocUtils.PathCombine (nsname, typename + ".xml");
+ string reltypefile = DocUtils.PathCombine (nsname, typename.Replace("<>", "<>") + ".xml");
string typefile = Path.Combine (basepath, reltypefile);
System.IO.FileInfo file = new System.IO.FileInfo (typefile);
result = new Tuple (reltypefile, typefile, file);
- return file.Exists;
- }
+ return file.Exists;
+ }
public string DoUpdateType (AssemblySet set, AssemblyDefinition assembly, TypeDefinition type, FrameworkTypeEntry typeEntry, string basepath, string dest)
{
@@ -1127,7 +1127,7 @@ private void DoUpdateAssembly (AssemblySet assemblySet, AssemblyDefinition assem
foreach (TypeDefinition type in docEnum.GetDocumentationTypes (assembly, null))
{
string typename = GetTypeFileName (type);
- if (!DocUtils.IsPublic (type) || DocUtils.IsIgnored(type) || typename.IndexOfAny (InvalidFilenameChars) >= 0)
+ if (!DocUtils.IsPublic (type) || DocUtils.IsIgnored(type) || (typename.IndexOfAny(InvalidFilenameChars) >= 0 && !typename.Contains("<>")))
continue;
var typeEntry = frameworkEntry.ProcessType (type, assembly);
@@ -1437,7 +1437,7 @@ private static void CleanupIndexTypes (XmlElement index_types, HashSet g
MyXmlNodeList remove = new MyXmlNodeList ();
foreach (XmlElement typenode in index_types.SelectNodes ("Namespace/Type"))
{
- string fulltypename = Path.Combine (((XmlElement)typenode.ParentNode).GetAttribute ("Name"), typenode.GetAttribute ("Name") + ".xml");
+ string fulltypename = Path.Combine (((XmlElement)typenode.ParentNode).GetAttribute ("Name"), typenode.GetAttribute ("Name").Replace("<>", "<>") + ".xml");
if (!goodfiles.Contains (fulltypename))
{
remove.Add (typenode);
diff --git a/mdoc/mdoc.nuspec b/mdoc/mdoc.nuspec
index 8257cc2c..6e987e5a 100644
--- a/mdoc/mdoc.nuspec
+++ b/mdoc/mdoc.nuspec
@@ -2,7 +2,7 @@
mdoc
- 5.9.4
+ 5.9.4.1
mdoc
Microsoft
Microsoft