2010年5月18日 星期二

App_Code 的程式編譯時出現「沒有型別或命名空間名稱」

利用加入新類別於App_Code中產生 Linq to SQL (.dbml)類別,並於網頁中產生實體:
appcode InstName = new appcode(); //會出現沒有型別或命名空間名稱
在正常情形下,加入命空間應該可以解決,
Name.Space.appcode InstName = new Name.Space.appcode();
但今天碰到一種特殊情形,就算加入命名空間,一樣出現「沒有型別或命名空間名稱」的錯誤,經查是 ~.csproj定義的關係

<Content Include="App_Code\imgLinkBtn.cs">
<dependentupon>imgLinkBtn.dbml</dependentupon>
</content>

它把 App_Code 資料夾內的物件都當成 Content ,所以不編譯,只要將 Content 改成 Compile
問題就解決了!


放在 App_Code 內的 ~.dbml 產生的程式碼,竟然不能 using System.Data.Linq 及 System.Data.Linq.Express
害我將 App_Code 更名為 AppCode 就好了!! Why? Why? Why?
書上不是都將 ~.dbml 放在 App_Code 中嗎???


========= 完畢 ========

沒有留言:

張貼留言