Domanda

Continuo a ricevere questo errore molto spesso quando avvio il debugger per eseguire il debug del mio sito.Sto utilizzando i controlli Telerik e di solito l'errore è nella mia tabstrip.Ecco un esempio dell'errore che sto guardando in questo momento:

Compiler Error Message: CS0433: The type 'ASP.controls_motorvehiclegeneral_ascx' exists in both 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_6wlqh1iy.dll' and 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_ro_sgchs.dll'

Source Error:

Line 48:     </telerik:RadTabStrip>
Line 49:     <telerik:RadMultiPage ID="RadMultiPageControls" Runat="server" SelectedIndex="0">
Line 50:     <telerik:RadPageView ID="PageGeneral" runat="server"><uc1:General ID="GeneralControl" runat="server" /></telerik:RadPageView>
Line 51:     <telerik:RadPageView ID="PageVehicle" runat="server"><uc1:VehicleList ID="VehicleList" runat="server" /></telerik:RadPageView>
Line 52:     <telerik:RadPageView ID="PagePerson" runat="server"><uc1:PersonList ID="PersonList" runat="server" /></telerik:RadPageView>

La cosa che mi dà più fastidio è che se continuo a premere F5, la pagina si aggiornerà e funzionerà come dovrebbe.A volte sono necessari diversi aggiornamenti per farlo, altre volte avviene piuttosto rapidamente.Non sono riuscito a trovare una soluzione in rete, poiché la maggior parte delle persone con questo errore stanno effettuando l'aggiornamento da VS2005 all'applicazione Web e quindi la soluzione sembra essere "Rimuovi la directory app_code e cambia CodeFile= in CodeBehind= .Ma il CodeBehind è vecchio e non viene più utilizzato.

In questo caso, ricevo l'errore nella scheda Generale, ma può verificarsi con QUALSIASI controllo utente quando si verifica.

Qualcun altro ha visto questo con pagine precompilate?Sto utilizzando VS2008 SP1.

L'altro effetto che ho visto in relazione a questo è quando ho una configurazione GridView con un'origine dati e l'origine dati cambia, ma la pagina non si aggiorna fino a quando non vengono eseguite diverse altre operazioni, quindi tutti i dati vengono compilati contemporaneamente...Questo mi fa pensare che ci sia una sorta di problema con la cache, o in fase di compilazione, timeout o qualcosa del genere...

Sto utilizzando una pagina site.master e ho controllato le direttive @Page e @Master...Solo per amor di discussione, ecco le opzioni del compilatore che sta utilizzando...

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE> "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe" /t:library /utf8output /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\6614ff9a\005164fc_423cc801\PetersDatePackage.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.IdentityModel\3.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.Common\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.Common.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_0-em44qa.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_6wlqh1iy.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_ro_sgchs.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Build.Utilities\2.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.ServiceModel\3.0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\6fe979bb\0056bc44_4b94c701\Microsoft.Practices.EnterpriseLibrary.Common.DLL" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\ad70f8ed\0010f920_4b94c701\Microsoft.Practices.EnterpriseLibrary.Data.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.ServiceModel.Web\3.5.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\d61e8194\009ae0bd_854ec901\Telerik.Web.UI.DLL" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\98ba2ae7\211fb135_e674c901\CoreAPI.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\1.0.61025.0__31bf3856ad364e35\System.Web.Extensions.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Management\2.0.0.0__b03f5f7f11d50a3a\System.Management.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\62fa267e\9888875e_bb5cc901\AjaxControlToolkit.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Build.Framework\2.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Framework.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Code.nufffrfb.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\52f6447d\f90fd1c8_b475c901\StatisticsAPI.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\955f38e7\982cdc0f_bc5cc901\Validators.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Runtime.Serialization\3.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_nv7t8gs_.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Design\2.0.0.0__b03f5f7f11d50a3a\System.Design.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.WorkflowServices\3.5.0.0__31bf3856ad364e35\System.WorkflowServices.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\assembly\dl3\a5daf5e0\0071b5e7_909cc701\Microsoft.Practices.ObjectBuilder.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.ProcessingObjectModel.dll" /R:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_atcckswk.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /out:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_zva2jsmk.dll" /D:DEBUG /debug+ /optimize- /win32res:"c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\zva2jsmk.res" /nowarn:1659;1699;1701 /d:DBCONVERTPUBLIC;CRYSTALSUPPORT  "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_zva2jsmk.0.cs" "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_zva2jsmk.1.cs" "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\statisticsweb\30c716d3\eebad209\App_Web_zva2jsmk.2.cs"

Qualcuno ha qualche idea su dove posso iniziare a cercare?

È stato utile?

Soluzione

uccidere le istanze di Cassini come sopra non ha funzionato per me. ScottGu ha pubblicato informazioni su questo problema

impostazione del batch = " false " l'attributo nella sezione compilation in web.config ha funzionato per me.

<configuration>

   <system.web>
       <compilation debug="false" batch="false"></compilation>
   </system.web>

</configuration>
  

Questo dice ad ASP.NET di dinamicamente   compilare singoli file .aspx / .ascx   in assiemi separati. Questo evita   il problema di riferimento circolare che   attiva l'eccezione.

Altri suggerimenti

Per me, chiudere l'IDE, chiudere il sito Web (IIS o Cassini), eliminare tutti i miei file temporanei asp.net, avviare l'IDE e fare una compilazione completa fa il trucco.

in IIS è necessario riavviarlo aprendo il prompt dei comandi e digitando iisreset quindi premere invio, tuttavia se si utilizza il server Web Visual Studio (Cassini) incorporato, ciò non risolverà il problema. Puoi terminare tutte le istanze Cassini in esecuzione digitando (esattamente così perché è sensibile al maiuscolo / minuscolo): taskkill /f /im "WebDev.WebServer.exe" e premendo invio. Vedrai quindi il seguente messaggio: SUCCESS: The Process "WebDev.WebServer.EXE" with PID <some #> has been terminated.

Se hai VS2008 e un'applicazione WEB (non un sito WEB) non puoi avere la directory denominata App_Code (devi rimuovere tutti i file da esso e spostarlo forexam. nella cartella principale) ed eliminare / escludere dal progetto quella cartella ( App_Code). Ogni file presente in App_Code verrà compilato durante DEBUG / Publish. - questo ha risolto il mio problema con CS0433.

Di recente ho risolto quell'errore. La causa è perché ci sono alcuni file o classi dichiarati più di una volta nel progetto. Nel mio caso,

error CS0433: The type 'usercontrol_ucManageNews' exists in both 
'c:\Users\DangLe\AppData\Local\Temp\Temporary ASP.NET Files\working\ed64f624\95e2038d\App_Web_kc2c2twy.dll' and 'c:\Users\DangLe\AppData\Local\Temp\Temporary ASP.NET Files\working\ed64f624\95e2038d\App_Web_0ywfoitp.dll'

perché nel mio progetto ci sono due cartelle che contengono il file ucManageNews.ascx

La causa POTREBBE essere che alcune altre DLL a cui si fa riferimento potrebbero fare riferimento alla versione precedente / più recente dell'assembly specificato. Quindi diverse parti dell'app fanno riferimento a diverse versioni dell'assembly. Ho riscontrato un problema come questo. Per risolverlo, ho costretto l'app a utilizzare la nuova versione:

Ho cambiato tutti i miei riferimenti in web.config per puntare alla versione più recente. Nel mio caso è stato l'assemblaggio System.Web.Extensions a causare problemi. Ho cambiato tutti da 1.0.60125.0 a 3.5.0.0

Successivamente, ho aggiunto queste righe al mio web.config , che sostanzialmente dice alla tua applicazione di " forward " tutti i riferimenti alla vecchia versione dell'assembly, a quella nuova:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin;sitefinity\admin\bin" />
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Telerik.Security" publicKeyToken="dfeaee0e3978ac79" />
        <bindingRedirect oldVersion="3.2.1598.2" newVersion="3.5.1747.2" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Telerik.Cms.Web.UI" publicKeyToken="dfeaee0e3978ac79" />
        <bindingRedirect oldVersion="3.2.1598.2" newVersion="3.5.1747.2" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Telerik.Web.UI" publicKeyToken="121fae78165ba3d4" />
        <bindingRedirect oldVersion="2008.1.515.20" newVersion="2008.2.1001.20" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

Non ho trovato questa soluzione, ma l'ho trovata da qualche parte che non ricordo. Tuttavia, non credo di aver mai visto una spiegazione del perché esattamente questo accada!

Ho appena avuto questo problema. Si scopre che, trascino per sbaglio - & Amp; -dropped files da un progetto all'altro, che ha creato un duplicato. Mi ci è voluto un po 'per trovare il problema, perché i file erano nascosti nella cartella Proprietà (che non ho mai esaminato).

In ogni caso, ciò che mi ha aiutato a risolvere il problema stava andando nel file che stava generando l'errore, facendo clic con il tasto R sulla riga errata e " andando alla definizione " ;. Essendo nella definizione, puoi vedere quale file fisico stai guardando. Se non è come dovrebbe essere, hai trovato il tuo problema.

So che questo è banale, ma mi ha sprecato circa 1 ora di tempo, quindi spero che queste informazioni siano utili a chiunque.

Correggere questo bug è abbastanza semplice, ma richiede alcune dichiarazioni usate raramente (la parte difficile è stata scavare nella documentazione giusta ;).

Vedere ECMA-334, Sezione, 16.3 "Direttive alias esterne"

Se controlli il "tuo" sorgente e stai collegando a un altro assembly il "loro" binario, tuttavia non puoi modificare (o non vuoi modificare troppo:) gli specificatori di spazio dei nomi/tipo (ad es. ENTRAMBI di te dichiara Sistema).In realtà mi sono imbattuto in questo un discreto numero di volte ultimamente, con tutti gli aggiornamenti Beta/Alpha/Versione di CLR/DLR, MS ha lavorato molto nei loro spazi dei nomi pubblicati.

Quando importi l'assembly "loro", in genere il compilatore lo imposterà nello spazio dei nomi globale (riservato).In MSVC, vai alle proprietà sul riferimento all'assembly, vai dove dice "Alias", puoi quindi specificare un nuovo nome, altro che globale.O meglio, qualche nome.

Diciamo che usi il nome fantasioso di "globale2".

Quindi vai ai file sorgente e al file SUPERIORE Prima qualsiasi dichiarazione dello spazio dei nomi inserita;

extern alias global2;
using global2::System;

Il tuo codice può quindi utilizzare i tipi di global2, come "Int32" o qualsiasi altro, puoi comunque rinominarlo tramite;

extern alias global2;
using global2::System;
using orig = System;

a proposito, CodeBehind non è vecchio e non usato!

CodeBehind= è per le pagine nell'applicazione Web (con .Designer.cs file) e CodeFile= è per la pagina nel sito Web (assiemi compilati dinamicamente, quindi senza <=> file)

Ho avuto questo problema oggi con un controllo USer Web ma ho scoperto che cambiando CodeBehind = " ... " a Src = " ... " è la causa dell'errore. [Link] http://stevenoderayi.blogspot.com/2011/04/resolved-cs0433-type-user-control.html [/ link]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top