Visual Studio 2010編譯Web項(xiàng)目的小BUG
今天用Visual Studio 2010編譯home.cnblogs.com的Web項(xiàng)目,搞得頭昏腦脹...昨天剛剛表揚(yáng)了一下Visual Studio 2010,今天恨不得拿起它狠狠砸一下。
明明是可以正常運(yùn)行的.ascx控件,編譯時(shí)卻出現(xiàn)錯(cuò)誤:
Circular file references are not allowed.
提示的錯(cuò)誤位置:
- <%@ Register Src="~/Controls/RightSide/AdRigth.ascx" TagPrefix="Home" TagName="AdRigth" %>
明明是正常可以調(diào)用的WebService,編譯時(shí)卻出現(xiàn)錯(cuò)誤:
'UserService' does not contain a definition for 'GetUserByUserId'
在IIS中可以正常運(yùn)行,單個(gè)文件編譯也沒問題,整個(gè)站點(diǎn)一編譯就出現(xiàn)上面的錯(cuò)誤。
被這個(gè)問題折騰了幾個(gè)小時(shí),差點(diǎn)放棄解決這個(gè)問題,最后堅(jiān)持了一下,找到了解決方法:
在web.config的<compilation>中加上batch="false":
- <compilation debug="true" targetFramework="4.0" batch="false">
- </compilation>
batch="false"的意思就是將每個(gè)需要編譯的文件編譯為單獨(dú)的dll,也就是一個(gè)文件對(duì)應(yīng)一個(gè)dll,相當(dāng)于預(yù)編譯:aspnet_compiler -fixednames。
使用這種方式進(jìn)行編譯,沒有任何編譯錯(cuò)誤。Visual Studio 2010說:“Build succeeded.”。
但使用batch="false"有個(gè)問題,就是第一次編譯很慢,而且Visual Studio 2010不顯示編譯進(jìn)度提示,狀態(tài)欄一直顯示“Ready”...等啊等...然后就“Build succeeded.”
原來的默認(rèn)設(shè)置batch="true",就是為了提高編譯速度,將文件編譯在一個(gè)dll中。
現(xiàn)在只能無奈地選擇batch="false"。
- Visual Studio 2010擴(kuò)展讓JS與CSS實(shí)現(xiàn)折疊
- 初步了解Visual Studio 2010 Professional專業(yè)版
- Visual Studio 2010中使用MTLM管理測(cè)試工具
- Visual Studio 2010 SP1公測(cè)版已經(jīng)發(fā)布
- Visual Studio 2010中敏捷開發(fā)流程模板的應(yīng)用


















