Visual Studio 2010编译Web项目的小BUG

开发 后端
今天我们将谈到的是Visual Studio 2010编译Web项目的小BUG。问题发生在正常运行的.ascx控件出现的错误,大家可以一起来讨论。

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

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

Circular file references are not allowed.

提示的错误位置:

  1. <%@ 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":

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

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

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

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

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

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

  1. Visual Studio 2010扩展让JS与CSS实现折叠
  2. 初步了解Visual Studio 2010 Professional专业版
  3. Visual Studio 2010中使用MTLM管理测试工具
  4. Visual Studio 2010 SP1公测版已经发布
  5. Visual Studio 2010中敏捷开发流程模板的应用

 

责任编辑:彭凡 来源: 博客园
相关推荐

2011-02-13 17:10:28

Visual Stud

2011-02-24 10:05:26

Visual Stud

2011-03-08 10:18:18

Visual StudMongoDB

2009-12-02 09:43:38

Visual Stud

2009-08-12 09:47:39

Visual Stud

2009-12-16 15:00:45

Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-06-22 09:06:36

Visual Stud

2010-02-23 10:39:43

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-03-10 09:28:58

Visual Stud

2010-04-12 10:11:59

Visual Stud

2011-09-27 10:18:55

死锁

2009-12-09 17:28:56

Visual Stud

2010-03-26 16:23:07

Visual Stud

2011-01-24 07:24:48

Visual Stud

2009-10-20 09:59:44

Visual Stud

2009-11-10 09:13:47

Visual Stud

2011-03-17 08:54:13

点赞
收藏

51CTO技术栈公众号