熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Visual Studio 2010編譯Web項目的小BUG

2013-11-13 10:18:44  來源: .NET編程 
    今天用Visual Studio 編譯的Web項目搞得頭昏腦脹…昨天剛剛表揚了一下Visual Studio 今天恨不得拿起它狠狠砸一下
    明明是可以正常運行的ascx控件編譯時卻出現錯誤
    Circular file references are not allowed
    提示的錯誤位置
    <%@ Register Src=~/Controls/RightSide/AdRigthascx TagPrefix=Home TagName=AdRigth %> 明明是正常可以調用的WebService編譯時卻出現錯誤
    UserService does not contain a definition for GetUserByUserId
    在IIS中可以正常運行單個文件編譯也沒問題整個站點一編譯就出現上面的錯誤
    被這個問題折騰了幾個小時差點放棄解決這個問題最後堅持了一下找到了解決方法
    在nfig的<compilation>中加上batch=false
    <compilation debug=true targetFramework= batch=false></compilation> batch=false的意思就是將每個需要編譯的文件編譯為單獨的dll也就是一個文件對應一個dll相當於預編譯aspnet_compiler fixednames
    使用這種方式進行編譯沒有任何編譯錯誤Visual Studio Build succeeded
    但使用batch=false有個問題就是第一次編譯很慢而且Visual Studio 不顯示編譯進度提示狀態欄一直顯示Ready…等啊等…然後就Build succeeded
    原來的默認設置batch=true就是為了提高編譯速度將文件編譯在一個dll中
    現在只能無奈地選擇batch=false
From:http://tw.wingwit.com/Article/program/net/201311/13219.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.