Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
450 views
in Technique[技术] by (71.8m points)

c# - Build error: "An expression is too long or complex to compile"

Every now and then when I build a specific solution, I'll get a random amount of "An expression is too long or complex to compile" in the Error List window. However, the only item the error points to is the specific project, not a file within the project or a specific LOC.

When I encounter this, I 'Clean' and then I restart VS and that seems to fix it. Any ideas on what is causing this?

This particular solution has 50 projects in it.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

FYI, that error is characteristic of the compiler running out of stack space. Typically that happens when you throw a "deep recursion" problem at the compiler, like say,

int x = (1 + (1 + (1 + (1 + ......... + 1 ) + 1 ) + 1 ) + 1);

say, several thousand deep. The syntactic and semantic analyzers are both recursive-descent analyzers and therefore prone to running out of stack space in extreme scenarios.

I have no idea why shutting down and starting over would affect that, though. That is really strange.

If you get a solid repro, I'd love to see it. Either post it here, or enter a bug on Connect and we'll have a look at it. Without a solid repro though it is very hard to say what is going on here.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...