vs 編譯錯誤 The name 'InitializeComponent' does not exist in the current context in WPF application

來源:互聯網
上載者:User

標籤:

1:檔案命名空間的問題

xaml檔案和model.cs檔案的命名空間

2:csproj

那麼它究竟是給誰用的呢?那是給開發工具用的,例如我們在熟悉不過的Visual Studio,以及大家可以沒有接觸過,但是應該都聽說過的MSBuild.exe。Visual Studio會根據csproj裡的XML定義來管理專案檔以及相關其他一些種類非常豐富的資料及操作,MSBuild也會根據csproj檔案來得知編譯這個項目需要有哪些依賴,預設輸出路徑,Pre-Build和Post-Build需要哪些操作等等。Visual Studio和MSBuild都是開發工具,這就是csproj存在的唯一意義:為“開發環境”提供資訊。而到了運行環境中,根本不會有人(作業系統?)關心所謂的csproj檔案——也就是“程式是哪裡來的”。

如果是個可執行程式,作業系統需要的只是exe,dll,甚至是設定檔或資源檔,而並非在開發中舉足輕重的csproj,sln,dbproj等檔案。而像IIS這樣的運行環境,更加不會去關注csproj的影子:“csproj是什嗎?”IIS輕蔑地說,“我只聽web.config的說法”。在運行環境中,csproj的輝煌不在——這是自然,你有辦法向我們的IIS證明它使用的dll在開發期是由csproj,sln等檔案來“統領”的嗎?現在說到之前提到的“pdb檔案需要放在Debug目錄下才有效果”,其實不然。Debug目錄只是VS的模板所“預設存在”的編譯規則所產生的目錄而已,我們在調試時使用pdb檔案完全可以由VS指定pdb檔案存在的目錄——甚至我們根本不需要VS也能使用pdb檔案。

說到了“模板”,這其實又是“開發環境”的概念。我們在VS中選擇New Item或New Project時,可以在談出視窗的左邊找到模板的分類,而又邊則是一堆可用的模板。這些模板是哪來的呢?自然是人為產生給VS用的,您不妨看看自己My Documents\Visual Studio 2008\Templates目錄下是否存在一些zip檔案,那就是存放“My Templates”的壓縮包,感興趣的朋友可以學習一下如何建立一個模板。而在“運行和Web Sit環境”下,更不會知道開發中用了什麼模板。不知您是否提過這樣的問題:“為什麼Web Site中無法使用ASP.NET AJAX,而Web Application就可以?”現在您應該已經知道了,運行時期的問題e、Web Application與否沒有任何關係。那麼是如何產生這個問題的呢?看看您的Web.config?看看頁面上提示了什麼資訊?用Fiddler看看請求的輸出是什嗎?其實在很多時候“排錯”並沒有什麼妙法,唯“仔細”二字。

而且事實上,“模板”在開發環境中的“地位”比csproj檔案都要低,因為只要通過模板建立好內容之後,就無法說明結果和自己有什麼聯絡了。例如我們使用模板建立一個AjaxControlToolkit的Extender,其中會產生一個.cs,一個.designer.cs和一個js檔案——呵呵,誰還能證明這三個檔案不是我們手動建立的呢?這就是“開發環境”,一切都是為了開發效率的提高,一切都是為了能夠最終產生一個可執行檔二進位檔案。而在開發環境的最後一個成員“編譯器”工作完成之後,所有開發工具便默默地退居二線。

 

vs 編譯錯誤 The name 'InitializeComponent' does not exist in the current context in WPF application

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.