5

Znalazłem inny wątek z podobnym problemem tutaj: Visual studio 2010: Can't show design view , ale w moim przypadku nie używam niestandardowej kontroli ."brak odwołania do obiektu" wyświetlanego w widoku projektu pliku asp.net default.aspx w programie Visual Studio 2010

Na 32-bitowym komputerze Win7 używam Visual Studion 2010 do tworzenia aplikacji internetowych asp.net przy użyciu kodu Visual Basic. Dodałem standardowe formanty internetowe do formularza default.aspx.

Wczoraj zapisałem projekt, uruchomiłem go w trybie debugowania na chwilę, a następnie zamknąłem Visual Studio (bez zmian dokonanych od ostatniego zapisu).

Dzisiaj, gdy otwieram rozwiązanie i patrzę na widok Projekt pliku default.aspx, wszystkie kontrolki, które powinny zostać wyświetlone, powiedzą: "Błąd tworzenia kontroli - nazwa kontrolki Odwołanie do obiektu nie jest ustawione na instancję obiekt "

Nie wprowadziłem żadnych zmian w rozwiązaniu.

Na liście błędów nie są wyświetlane żadne błędy. Aplikacja internetowa działa bezbłędnie. Aplikacja działa bezbłędnie (w trybie debugowania) i poprawnie wyświetla kontrolki na stronie internetowej.

Mam sugestię, że plik default.aspx.designer.vb może być nieaktualny. Sugerowano usunięcie pliku, utworzenie pustego pliku o tej samej nazwie, otwarcie rozwiązania i ponowne zapisanie pliku default.aspx w celu ponownego wygenerowania pliku projektanta. Zrobiłem to i nie miało to żadnego wpływu.

Nie zainstalowałem żadnych aktualizacji w moim systemie.

Inne rozwiązania VS dla aplikacji internetowych, których używałem jako podstawy do tego, wciąż są otwarte. Nie pokazują tego problemu w swoich widokach projektowych.

Cały kod jest przechowywany lokalnie na tym samym komputerze co program Visual Studio. Kontrola wersji nie jest używana.

To już drugi raz, gdy problem ten przydarzył mi się w tym projekcie. Stało się to dwa dni temu. W tym czasie uruchomiłem nowy plik rozwiązania, odtworzyłem plik default.aspx (i jego kod) od podstaw, a następnie skopiowałem na inny kod (pliki klas, modułów i plików tekstowych). To jest plik rozwiązania, nad którym pracuję teraz i jak już wspomniałem, wczoraj działało dobrze. W obu przypadkach przypadkowo miałem ten sam zestaw formantów w formularzu, kiedy zamknąłem projekt na dany dzień. Nie próbowałem dodawać do formularza kontroli anothe.

+0

Odkryłem kolejny czynnik w tym wydaniu. Robię to na wirtualnej stacji roboczej, łącząc się za pomocą klienta vmWare View.Wszystko jest w porządku, dopóki nie zamknę rozwiązania i wyloguję się z wirtualnej stacji roboczej. Po ponownym zalogowaniu się na wirtualną stację roboczą i otwarciu rozwiązania następuje zerwanie widoku projektu default.aspx. –

+1

czy masz jakiś kod w page_init? – Cagatay

+0

Dzięki Cagatay mam ten sam błąd, sprawdziłem kod i kod komentarza w page_init. teraz jest w porządku. –

Odpowiedz

1

To ma coś wspólnego z metodą OnInit.

Jednym z obejść tego problemu może być sprawdzenie, czy jesteśmy w trybie projektowania po wywołaniu base.OnInit().

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 
    if(!this.DesignMode) 
    { 
     // place code here for dynamic control creation 
     TextBox txtUserName = new TextBox(); 
     txtUserName.ID= "UserID" ; 
     usersPlaceholder.Controls.Add(txtUserName); 
    } 
} 

Zespół Visual Web Developer jest również świadomy tego problemu i mówią:

this is a bug in VS 2010 that we’re now calling the OnInit() method at the 
design time; we are considering a fix for this in a future release of 
VisualStudio. 

Sprawdź wszystkie szczegóły dotyczące tego problemu na swoich blogach here

Powiązane problemy