我已经安装了windows xp 2002 SP2的新副本,然后是VS.net 2008企业版。我正在尝试构建一个最简单的Web应用程序,它没有编译给出错误csc.exe找不到。我google了很多,并在web.config中的以下部分中发现了问题:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
但是,如果我删除csharp编译器部分,然后编译,它编译与vb编译器部分很好。 如果我在csharp部分中将值从v3.5更改为v2.0,那么它也可以很好地编译。但是编译器无法识别我的所有Linq查询。但是System.Linq及其中的所有类都可以在代码中访问。 请帮助解决这种奇怪的行为。
答案 0 :(得分:2)
令人惊讶的是,没有人回答过这个问题。 幸运的是,通过安装.net 3.5 SP1,我已经通过运气解决了这个问题。 一切都按预期正常工作。