昨天下載了Dxperience8.3.2的重新編譯版,安裝後發現WebEdirot的組件不能正常工作.後來,在網上查了一下有人說是這個錯誤是因爲源碼中缺少文件所致.思來想去,應該不會是源碼文件的錯誤.於是找來8.2.6的源碼同8.3.2的對照了一下,並沒發現缺少什麼文件.發現在8.3.2的版本中對Script文件的註冊方法做了改動.將原來分散在幾個文件中的js腳本都放入了一個Scripts.js文件中.在RegisterIncludeScripts方法的寫法上多了一個編譯條件#if DXBUILD.想來應該是它的問題.於是在工程中加入DXBUILD條件.編譯後,打開Demo.OK一切正常了.
下面將解決方法寫一下,供朋友們參考:
1.安裝Dxperience8.3.2試用版(官方下載)
2.安裝Dxperience8.3.2重新編譯版,安裝時要把源代碼和編譯腳本一同安裝到本地.(CSDN有下載)
3.打開/Developer Express.NET v8.3/Sources/DevExpress.Web文件夾(如:C:/Program Files//Developer Express.NET v8.3/Sources/DevExpress.Web)
4.用VS2008 IDE或者記事本打開項目文件 DevExpress.Web.csproj.選擇Release,添加條件編譯符號DXBUILD(多個符號中間用";"分隔)保存.(如果用記事本打開,則查找 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
......
<DefineConstants>$(CustomDefine)TRACE;DXCommon; DXBUILD</DefineConstants>
......).
5.打開重新編譯腳本.defines.bat 設置 set configuration=Release.
6.打開buildall.cmd文件.在其中複製編譯DevExpress.Web部分的代碼到一個新的.cmd文件中.(call buildproject.cmd DevExpress.Web.%dxver%"./DevExpress.Web/DevExpress.Web.csproj")這樣可以防止編譯其他沒有問題的DLL.
7.重複3~6步驟.修改DevExpress.Web.AspxEditors,和DevExpress.Web.ASPxHtmlEditor.
8.運行步驟6的.cmd文件編譯這3個DLL.
運行DEMO看看吧.一切OK了.如果還不能正常運行.重啓IIS.