我们有一个15061行的特性文件(通过另一个系统自动生成).Specflow (3.9.7版本)设法通过MSbuild任务生成一个cs文件,包含39017行。但是,生成的功能文件生成失败,堆栈溢出错误如下:
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : Stack overflow. [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : Repeat 24214 times: [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : -------------------------------- [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveStack.CompleteRegion(Roslyn.Utilities.ConsList`1<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Directive>) [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]
C:\Program Files\dotnet\sdk\6.0.202\Roslyn\Microsoft.CSharp.Core.targets(75,5): error : -------------------------------- [D:\Code\DDS_SpecFlow\DDS_SpecFlow.csproj]在文件中生成的#line指令的数量似乎超出了编译器所能处理的数量,因为一旦删除所有的行指令,构建就成功了。
因此,我正在寻找一种方法来配置SpecFlow代码生成任务并跳过行指令生成。
发布于 2022-04-27 11:17:12
请将您的功能文件拆分为多个文件。任何有15k行的文件都是不可读和不可维护的。
Seb写了一篇关于如何在https://cucumber.io/blog/bdd/solving-how-to-organise-feature-files/上组织您的特性文件的好文章
https://stackoverflow.com/questions/72026774
复制相似问题