zoukankan      html  css  js  c++  java
  • VS2010编译Web项目要用 batch="false"

    今天用VS2010编译home.cnblogs.com的Web项目,搞得头昏脑胀...昨天刚刚表扬了一下VS2010,今天恨不得拿起它狠狠砸一下。

    明明是可以正常运行的.ascx控件,编译时却出现错误:

    Circular file references are not allowed.

    提示的错误位置:

    <%@ Register Src="~/Controls/RightSide/AdRigth.ascx" TagPrefix="Home" TagName="AdRigth" %>

    明明是正常可以调用的WebService,编译时却出现错误:

    'UserService' does not contain a definition for 'GetUserByUserId'

    在IIS中可以正常运行,单个文件编译也没问题,整个站点一编译就出现上面的错误。

    被这个问题折腾了几个小时,差点放弃解决这个问题,最后坚持了一下,找到了解决方法:

    在web.config的<compilation>中加上batch="false":

    <compilation debug="true" targetFramework="4.0" batch="false">
    </compilation>

    batch="false"的意思就是将每个需要编译的文件编译为单独的dll,也就是一个文件对应一个dll,相当于预编译:aspnet_compiler -fixednames。

    使用这种方式进行编译,没有任何编译错误。VS2010说:“Build succeeded.”。

    但使用batch="false"有个问题,就是第一次编译很慢,而且VS2010不显示编译进度提示,状态栏一直显示“Ready”...等啊等...然后就“Build succeeded.”

    原来的默认设置batch="true",就是为了提高编译速度,将文件编译在一个dll中。

    现在只能无奈地选择batch="false"。

  • 相关阅读:
    js 模拟表单提交下载文件
    vue 刷新子组件方法解决使用v-if闪屏问题
    Java15-Tomcat&Servlet&HTTP&Request&Response
    JAVA26-SpringBoot-在线教育项目01
    20 Vue-ajax
    19 Vue-JQuery
    18 Vue-Json
    Java 20-Mybatis学习
    17 Vue-ES6语法之Promise、VueX、网络请求封装
    16 Vue-cli脚手架介绍与使用
  • 原文地址:https://www.cnblogs.com/dudu/p/vs2010_compile_batch_false.html
Copyright © 2011-2022 走看看