QA MichaelPeng

一个QA的零零碎碎

用vs2010编译kigg 3.0遇到的问题

今天玩kigg时碰到了一些问题,在google帮助下总算搞定了,在这里记录下解决步骤,供日后参考,也给碰到相似问题的朋友一些参考.

  1. 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" />
  2. 有些类是用LinkDemand修饰的,需要去掉,否则运行时会报错.这是为了快速运行起来,没有深究背后的安全性. 比如jQueryScriptManager和reCAPCHA类等
  3. 在Web.config System.Web节中加入 <P>&lt;httpRuntime requestValidationMode="2.0"/&gt;</P> 因为.net 4.0中对HTTP Request validate的处理发生了一些变化,为了和以前的模式保持兼容.否则输入的内容中含有<xxx></xxx>的内容时校验会抛异常.
  4. 把Source\SharedFiles里的文件拷贝到app_data目录下.
  5. 如果你没有配置email,请如下注释掉Email exception listener
    <add switchValue="All" name="FullException">
    <listeners>                    
    <!--
    <add name="EmailExceptionListener"/>                  
      -->
    <add name="TextFileExceptionListener"/>
    </listeners>
    </add>

 

参考资料

  1. Visual Studio 2010 compile ASP.NET 3.5 website using .NET4's aspnet_compiler.exe
  2. Link Demands
  3. HttpRuntimeSection.RequestValidationMode Property
  4. HttpRequestValidationException after upgrading to .NET 4.0

posted on 2010-12-25 22:56  Michael Peng  阅读(616)  评论(0编辑  收藏  举报

导航