2011-06-28 167 views
17

我已經爲我的aspx文件添加了一個新控件,並且注意到不僅新控件未添加到設計器文件中,而且它還缺少了很多其他控制由團隊的其他成員添加。我嘗試刪除designer.cs文件,並使用「轉換爲Web應用程序」,但沒有成功。我已經嘗試過的其他一些東西已經從項目中排除了aspx,構建,然後重新包括但沒有成功。我還手動輸入了設計師在設計師中缺少的控件。當我運行後,這樣做會出現一個錯誤,指出該控件未被定義,即使它實際上是,並且我應該檢查是否缺少指令。當新控件添加到.aspx時,Designer.cs不會更新

我添加的第一個控件是從一個類似的控件複製和粘貼,並做了必要的更改。但是,我也試着用相同的結果手動創建控件。

任何想法?

+0

什麼版本的Visual Studio是你使用? –

+1

難道你只是在討厭Visual Studio的魔法片出來!? – ChaosPandion

+0

Visual Studio 2010 .NET Framework 4 – user819357

回答

9

關閉Visual Studio,然後從C:\Windows\Microsoft.Net\Framework\Your_.Net_Version\ProjectName中刪除Temporary ASP.NET Files刪除文件夾ProjectName並重新啓動Visual Studio。前段時間我有類似的問題,並通過這些行動解決了問題。

如果您使用IIS,則可能需要停止服務器/站點才能刪除臨時文件。

+1

根據我的觀點,其接受的解決方案... –

+1

這是唯一能夠用於視覺工作室2013 – Mike

3

也會導致類似症狀的一個簡單/愚蠢的錯誤是,如果您複製aspx和aspx.cs文件並重命名它們,但忽略更新文件內的引用。

我遇到了這個問題試圖找到臨時asp.net目錄,但清除沒有幫助。然後我意識到在複製文件以創建頁面的新修改版本後,我沒有更新CodeFile="Page.ascx.cs"。然後我試圖添加一個控件,並在PageModified.ascx.cs中引用它,但一直說它不存在。

+0

賓果。它仍然參考我從中複製的文件。 – goodeye

13

我在工作中遇到過這個問題。

,最可靠的是你重新生成了.Designer.cs文件,here是解決方案:

  • 通過Solution Explorer中找到損壞aspx.designer.cs文件
  • 只刪除designer.cs來自您項目的文件
  • 右鍵單擊您的主要aspx文件並選擇「轉換爲Web應用程序」
+0

它工作。謝謝!我可能會補充說我在VS 2012中遵循了這個過程。爲什麼我仍然在使用webforms應用程序?這是真正的問題。 – MrBoJangles

+0

這對我而言並不適用vs2013 – Rama

+5

在VS 2013中,這個選項被莫名其妙地移動到了菜單欄上的項目下拉菜單中。 [鏈接](http://connect.microsoft.com/VisualStudio/feedback/details/806283/regenerate-the-designer-file-filename-aspx-designer-cs-in-visual-studio-2013) –

1

這似乎也發生在您有一個用戶控件在同一個名稱空間中引用另一個用戶控件時。 如果您將引用的用戶控件移動到其他名稱空間,問題消失

1

有時候,html中可能會出現錯誤,如具有相同Id的兩個控件。還要注意div和span標籤。這些停止了設計師的更新。對於所有這些,請檢查錯誤列表中的警告並修復它們。你準備好了。這解決了我的問題。

2

我這樣做在VS2012:

  1. 打開page.aspx.designer。CS找到 相同類型的控制的控制人(即LinkBut​​ton的)
  2. 將其複製到該文件的末尾(類花括號結束前)
  3. 重命名控制變量來匹配您的控件的名稱。

就是這樣。

0

我能夠解決問題,只能手動添加控制聲明內的代碼後面的文件。每次我嘗試重新生成design.cs文件時,VS 2013都會在沒有丟失控件的情況下編寫相同的行。

該聲明需要添加在後面的代碼中,而不是在design.cs中,因爲每次更改.aspx時它都會被刪除。

只需添加的聲明,就像您對任何其他變量做這樣的事情:

protected MyNameSpace.MyControl ControlName; 
5

要在VS 2013替換設計文件:

  1. 刪除舊的* .designer .cs文件
  2. 選擇* .aspx文件
  3. 從項目頂部下拉欄中選擇「轉換爲Web應用程序」
+0

他說他試過了,但沒有奏效。 – Mike

8

試試這個

1.-變化CodeBehind="Name.aspx.cs"CodeFile ="Name.aspx.cs"

2:構建

3.-變化CodeFile ="Name.aspx.cs"CodeBehind ="Name.aspx.cs"

+0

謝謝。那很簡單 –

相關問題