我正在尝试通过Sandcastle帮助文件生成器(http://shfb.codeplex.com/)使用SandCastle为项目构建文档。
一切正常,直到我添加对MassTransit(http://masstransit-project.com/)dll的引用。
一旦我这样做,我就得到Process is terminated due to StackOverflowException.
导致这种情况的原因是什么?
以下完整的SHFB输出:
-------------------------------
[Sandcastle Help File Builder Utilities, version 1.9.1.0]
Creating output and working folders...
-------------------------------
Finding tools...
Found Sandcastle tools in 'C:\Program Files (x86)\Sandcastle\'
-------------------------------
Validating and copying documentation source information
Source: C:\prj\Merged\MessageHandlerFramework\MessageHandlerFramework.csproj
Found project 'C:\prj\Merged\MessageHandlerFramework\MessageHandlerFramework.csproj'
Source: C:\prj\Merged\MessageHandlerFramework\sandCastleDoc\MessageHandlerFramework.XML
Parsing project files
Found assembly 'C:\prj\Merged\MessageHandlerFramework\bin\Debug\MessageHandlerFramework.dll'
References to use:
MassTransit, Version=2.0.1.0, Culture=neutral, processorArchitecture=MSIL
System
System.configuration
System.Core
System.Data
System.Data.DataSetExtensions
System.Xml
System.Xml.Linq
Copying XML comments files
C:\prj\Merged\MessageHandlerFramework\sandCastleDoc\MessageHandlerFramework.XML -> C:\prj\Merged\documentation\Help\Working\MessageHandlerFramework.XML
SHFB: Warning BE0063: 'C:\prj\Merged\MessageHandlerFramework\bin\Debug\MessageHandlerFramework.XML' matches a previously copied comments filename. The duplicate will be copied to a unique name to preserve the comments it contains.
C:\prj\Merged\MessageHandlerFramework\bin\Debug\MessageHandlerFramework.XML -> C:\prj\Merged\documentation\Help\Working\{b528b410-11ff-4d99-8c37-c992a185fb52}
-------------------------------
Generating shared content files (en-US, English (United States))...
Last step completed in 00:00:00.0070
-------------------------------
Generating API filter for MRefBuilder...
Last step completed in 00:00:00.0050
-------------------------------
Generating reflection information...
[C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe]
GenerateRefInfo:
MrefBuilder (v2.6.10621.1)
Copyright c Microsoft 2006
Info: Loaded 1 assemblies for reflection and 8 dependency assemblies.
Process is terminated due to StackOverflowException.
Last step completed in 00:00:11.9062
-------------------------------
SHFB: Error BE0064: BUILD CANCELLED BY USER
答案 0 :(得分:0)
这显然是在Sandcastle 2.7.0.0中修复的MRefBuilder组件中的错误
“修复了TypeNode.NestedTypes,以便在类型包含嵌套类型时它不会陷入无限循环,嵌套类型本身在包含类型中实现嵌套类型。”