2013-06-20 8 views
7

Mam problem, który jest bardzo podobny do tego pytania: ASP.NET 3.5 Web Site stopped importing System namespace by defaultASP.NET 3.5 Website brakujących nazw w VS 2012

Mam ASP.NET 3.5 WWW (nie aplikacji) projekt w VB.NET, który kompiluje dobrze Visual Studio 2008. Kiedy otwieram projekt w Visual Studio 2012 (lub 2010), dostaję bardzo dziwne błędy, które sprawiają, że wygląda tak, jakby brakowało przestrzeni nazw System i System.Data. W większości przypadków wszystkie te błędy występują w folderze App_Code. W niektórych przypadkach mogę dodać system importu do klasy i go naprawić. Spodziewam się, ta strona kompilacji jak tylko otworzył ją w VS 2012.

Oto próbkowania błędów Dostaję:

  • CommandType nie jest zadeklarowana. Może być niedostępny ze względu na poziom ochrony.
  • DateTime nie jest zadeklarowany. Może być niedostępny ze względu na poziom ochrony.
  • HttpContext nie jest zadeklarowany. Może być niedostępny ze względu na poziom ochrony .

Wierzę, że VB.NET wykonuje import niejawny, ale wydaje mi się, że ich brakuje.

Edytuj: Witryna działa poprawnie w usługach IIS i nie generuje żadnych błędów kompilacji.

Znacznik kompilacja mojego pliku web.config wygląda następująco:

<compilation defaultLanguage="vb" debug="true" batch="false"> 
     <assemblies> 
      <add assembly="System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
      <add assembly="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
      <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
      <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
      <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Data.Entity.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     </assemblies> 
     <buildProviders> 
      <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider"/> 
     </buildProviders> 
    </compilation> 

Próbowałem dodać System i System.Data, ale to nie pomogło. Powinien to być ciągnięcie z domyślnych zestawów z pliku web.config w C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG. Jak powiedziałem wcześniej, to samo rozwiązanie (choć jest to projekt witryny internetowej) buduje w VS 2008.

Edit:

mam zawężony to w dół do kilku bibliotek DLL w moim folderze BIN, które indywidualnie są przyczyną tego błąd (jeśli dodaję jedną z nich ponownie, błędy pojawią się ponownie). Jedną z kłopotliwych bibliotek DLL jest Recaptcha.dll. Nie ma nic szczególnego w tej bibliotece DLL i działa dobrze w VS2008 i ładuje się dobrze w IIS.

+0

VS2012 początkowo pracował dla mojego projektu VS2010 MVC, a następnie całkowicie pomieszał kilka moich plików. Przeszukałem go i pojawiły się błędy, które nie zostały jeszcze naprawione. Nie polecam go używać. – user1477388

+0

Zmień nazwę folderu app_code na coś innego. VS 2010 i VS2012 nie lubią już mieć kodu użytkownika w tym folderze. – AaronS

+0

Nie miałem problemów z App_Code w 2010 roku, ale był to projekt strony. Otrzymałem tylko te błędy, o których wspomniałeś, gdy próbowałem uaktualnić do projektu aplikacji sieci Web. – ps2goat

Odpowiedz

0

Czy masz odniesienie do usługi internetowej w projekcie swojej strony internetowej? Doświadczyłem problemów, gdy odwołanie do usługi sieciowej obejmuje wszystkie typy z usługi sieciowej. Dzieje się tak, ponieważ pole wyboru "Ponowne użycie typów w zestawach referencyjnych" jest zaznaczone w oknie Ustawienia odniesienia usługi.

+0

Pomyślałem, że to może być również problem, ale tak nie było. Mam zamiar rozpocząć nowy projekt, aby sprawdzić, czy mogę go powielić. – Jonathan

0

Znalazłem bardzo podobny problem z moimi poglądami w asp.net MVC. W moim przypadku nieumyślnie zduplikowałem sekcję w moim pliku konfiguracyjnym. Myślę, że to był odcinek

<system.web> 

który spowodował Visual Studio wszelkiego rodzaju błąd - kompilacja działało w porządku, ale otrzymał nietypowe błędy w liście błędów. Czy może być coś podobnego? Sprawdź swój plik web.config i swoje widoki web.config dla wszystkich duplikatów sekcji?

0

Mam kilka razy tę kwestię. Zawsze się okazuje, że popełniliśmy niewielki błąd w naszym Kodzie aplikacji (Class Objects), którego IDE nie lubi, ale kompilator będzie kompilował i działał bezbłędnie.Dużo czasu zajmuje nam podpis metodologiczny:

Public Sub Foo (byval Parm1 as long, _ 
     byval Parm2 as long, 
     byval Parm3 as long) 

I zapominamy o "_" jak mój przykład powyżej z Parm2.

To może być prawdziwy ból do wyśledzenia.

Powiązane problemy