用vs2010编译kigg 3.0遇到的问题
时间:2010-12-25 来源:Michael Peng
- kigg用的.NET 3.5, 需要升级到.NET 4.0.因为vs会调用.NET 4.0版的ASP.net compiler,会出现冲突, 还有一个办法是在kigg.web.csproj中指定ASP.NET Compiler路径
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\Web" ToolPath="C:\Windows\Microsoft.NET\Framework\v2.0.50727" />
- 有些类是用LinkDemand修饰的,需要去掉,否则运行时会报错.这是为了快速运行起来,没有深究背后的安全性. 比如jQueryScriptManager和reCAPCHA类等
- 在Web.config System.Web节中加入 <P><httpRuntime requestValidationMode="2.0"/></P> 因为.net 4.0中对HTTP Request validate的处理发生了一些变化,为了和以前的模式保持兼容.否则输入的内容中含有<xxx></xxx>的内容时校验会抛异常.
- 把Source\SharedFiles里的文件拷贝到app_data目录下.
- 如果你没有配置email,请如下注释掉Email exception listener
<add switchValue="All" name="FullException">
<listeners>
<!--
<add name="EmailExceptionListener"/>
-->
<add name="TextFileExceptionListener"/>
</listeners>
</add>
参考资料
- Visual Studio 2010 compile ASP.NET 3.5 website using .NET4's aspnet_compiler.exe
- Link Demands
- HttpRuntimeSection.RequestValidationMode Property
- HttpRequestValidationException after upgrading to .NET 4.0
相关阅读 更多 +