2013-06-20 10 views
7

Ho un problema che è molto simile a questa domanda: ASP.NET 3.5 Web Site stopped importing System namespace by defaultASP.NET 3.5 Sito spazi dei nomi mancanti in VS 2012

Ho un sito web ASP.NET 3.5 (non applicazione) progetto in VB.NET che compila fine Visual Studio 2008. Quando apro il progetto in Visual Studio 2012 (o 2010), ottengo alcuni errori molto strani che lo fanno apparire come se mancassero gli spazi dei nomi System e System.Data. Nella maggior parte dei casi, tutti questi errori si verificano nella cartella App_Code. In alcuni casi, posso aggiungere un sistema di importazione alla classe e la risolve. Mi aspetto che questo sito web per la compilazione, non appena ho aperto in VS 2012.

Ecco il campionamento degli errori che sto ottenendo:

  • CommandType non è dichiarato. Potrebbe non essere accessibile a causa del suo livello di protezione.
  • DateTime non dichiarato. Potrebbe non essere accessibile a causa del suo livello di protezione.
  • HttpContext non dichiarato. Potrebbe essere inaccessibile a causa del livello di protezione .

Credo che VB.NET faccia alcune importazioni implicite ma sembra che le manchi.

Modifica: il sito funziona perfettamente in IIS e non produce errori di compilazione.

Il tag di compilazione del mio file web.config appare come:

<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> 

ho cercato di aggiungere Sistema e System.Data, ma non ha aiutato. Dovrebbe essere estratto dagli assembly predefiniti dal file web.config in C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG. Come ho detto prima, questa stessa soluzione (anche se si tratta di un progetto di sito web) costruisce in VS 2008.

Edit:

ho ridotto questo fino a diverse DLL nella mia cartella BIN che ciascuno individualmente stanno causando questo errore (se ne aggiungo uno, gli errori riappaiono). Uno dei problemi DLL è Recaptcha.dll. Non c'è niente di speciale su questa DLL e funziona bene in VS2008 e carica bene in IIS.

+0

VS2012 ha funzionato prima per il mio progetto MVC VS2010, quindi ha completamente incasinato un sacco di miei file. L'ho cercato su google e c'erano alcuni bug che non erano stati ancora risolti in quel momento. Non consiglio di usarlo. – user1477388

+0

Rinomina la tua cartella app_code in qualcos'altro. VS 2010 e VS2012 non sono più come avere il codice utente in quella cartella. – AaronS

+0

Non ho avuto problemi con App_Code nel 2010, ma quello era un progetto di sito web. Ho ricevuto solo gli errori che hai menzionato quando ho provato ad aggiornare a un progetto di applicazione Web. – ps2goat

risposta

0

Hai un riferimento a un servizio web nel progetto del tuo sito web? Ho riscontrato problemi quando il riferimento al webservice include tutti i tipi di webservice. Il motivo è che la casella di controllo "Riutilizza i tipi negli assiemi di riferimento" è selezionata nelle Impostazioni di riferimento del servizio.

+0

Pensavo che questo potesse essere il problema, ma non lo era. Ho intenzione di provare a iniziare un nuovo progetto per vedere se posso duplicare. – Jonathan

0

Ho trovato un problema molto simile con le mie opinioni su asp.net MVC. Nel mio caso ho inavvertitamente duplicato una sezione nel mio file di configurazione. Credo che sia stata la sezione

<system.web> 

che ha causato Visual Studio ogni sorta di confusione - compilation funzionava bene, ma ho ricevuto errori inusuali nella lista degli errori. Potrebbe essere qualcosa di simile? Controlla il tuo file web.config e le tue visualizzazioni web.config per eventuali sezioni duplicate?

0

Ho avuto questo problema più volte. Si scopre sempre che abbiamo fatto qualche piccolo errore nel nostro Codice app (Oggetti di classe) a cui l'IDE non piace, ma il compilatore verrà compilato ed eseguito senza errori.Un sacco di tempo è quando facciamo una firma del metodo simile:

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

e dimentichiamo un "_" come il mio esempio di cui sopra con Parm2.

Possono essere un vero dolore da rintracciare.