Pergunta

Eu continuo recebendo este erro sempre tão frequentemente quando eu iniciar o depurador para depurar o meu site. Eu estou usando os controles Telerik e, normalmente, o erro está na minha barra de guias. Aqui está um exemplo do erro que eu estou olhando agora:

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>

A coisa que mais me incomoda, é se eu continuar batendo F5, a página será atualizada e trabalhar como deveria. Às vezes leva várias atualizações de fazer isso, outros que acontece muito rápido. Eu não tenho sido capaz de encontrar uma solução na net, como a maioria das pessoas com este erro está atualizando de VS2005 para Aplicação Web, e, portanto, a correção parece ser "Remover o seu diretório App_Code, e mudar o CodeFile = para CodeBehind = . Mas, o CodeBehind é velho, e não mais usado.

Neste exemplo, eu estou recebendo o erro no meu guia Geral, mas pode acontecer de qualquer um dos meus controles de usuário quando isso acontecer.

Alguém já viu isso com páginas pré-compilados? Eu estou usando VS2008 SP1.

O outro efeito que eu vi relacionado a isso é quando eu tenho uma configuração de GridView com uma fonte de dados, e as mudanças de fonte de dados, mas a página não atualizar até várias outras operações, em seguida, de uma só vez todos os dados são preenchidos ... Isto faz-me pensar que há algum tipo de problema de cache, ou tempo de compilação, time-out ou algo assim ...

Eu estou usando uma página site.master, e ter verificado as directivas @Page e @Master ... Apenas por uma questão de argumento, aqui estão as opções de compilador que ele está usando ...

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"

Alguém tem alguma idéia onde eu possa sequer começar a olhar?

Foi útil?

Solução

matando casos Cassini como acima não funcionou para mim. ScottGu postou sobre esta questão

definir o lote = atributo "false" na seção de compilação em web.config funcionou para mim.

<configuration>

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

</configuration>

Isto diz ASP.NET dinamicamente compilar individuais .aspx / .ascx arquivos em conjuntos separados. Isso evita a questão de referência circular que gatilhos a exceção.

Outras dicas

Para mim, fechando o IDE, fechando o site web (IIS ou Cassini), a exclusão de todos os meus arquivos ASP.NET temporários, o lançamento do IDE e fazer uma compilação completa faz o truque.

no IIS é preciso reiniciá-lo, abrindo o prompt de comando e digitando iisreset em seguida, tecle enter, no entanto, se o seu usando o construir no servidor web do Visual Studio (Cassini), então isso não vai resolver o seu problema. Você pode encerrar todas as instâncias da Cassini em execução digitando (exatamente como este, porque seu maiúsculas e minúsculas): taskkill /f /im "WebDev.WebServer.exe" e pressionando Enter. em seguida, você verá a seguinte mensagem: SUCCESS: The Process "WebDev.WebServer.EXE" with PID <some #> has been terminated.

Se você tem VS2008 e uma aplicação web (não Web site) você não pode ter diretório chamado App_Code (você deve remover todos os arquivos a partir dele um movimento que forexam. A pasta raiz) e apagar / excluir do projeto que pasta ( App_Code). Cada arquivo que você tem em App_Code serão compilados durante DEBUG / publicar. - isso resolveu o meu problema com CS0433

.

Recentemente fixa esse erro. A causa é porque existem alguns arquivos ou classes declarou mais de uma vez no projeto. No meu 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'

porque no meu projeto há duas pastas contendo arquivos ucManageNews.ascx

A causa pode ser que alguma outra DLL é que você está fazendo referência pode ser referência a versão mais antiga / mais recente do especificado montagem. Assim, diferentes partes do aplicativo estão fazendo referência versões diferentes da montagem. Corri para uma questão como esta também. Para resolver isso, eu forcei o aplicativo para usar a nova versão:

Eu mudei todas as minhas referências no web.config para apontar para a versão mais recente. No meu caso, foi o System.Web.Extensions montagem que estava causando problemas. eu mudei todos eles a partir 1.0.60125.0 para 3.5.0.0

A seguir, Eu adicionei estas linhas para o meu web.config , que basicamente diz a sua aplicação para a "frente" todas as referências para a versão antiga do conjunto, para o novo:

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

eu não chegar a esta solução, mas achei que em algum lugar que eu não me lembro. No entanto, eu não acho que eu já vi uma explicação sobre exatamente por que isso acontece tanto!

Eu só tinha este problema. Acontece que, eu acidentalmente arrastar - & - arquivos caiu de um projeto para outro, o que criou uma duplicata. Levei um tempo para encontrar o problema, porque os arquivos estavam escondidos dentro da pasta propriedades (que eu nunca olhar para).

Em qualquer caso, o que me ajudou a resolver o problema estava indo para o arquivo que estava jogando o erro, r-clique sobre a linha errada e "ir para definição". Sendo na definição, você pode ver qual arquivo físico que você está olhando. Se não é o que é suposto ser, então você encontrou o seu problema.

Eu sei que isso é trivial, mas me desperdiçado cerca de 1 hora de tempo, por isso espero que esta informação seria útil para qualquer pessoa.

Para corrigir esse erro, é bastante simples, mas requer algumas declarações raramente usados ??(parte mais difícil estava cavando através da documentação direita;).

Veja ECMA-334 , Seção, 16,3 " Externo apelido directivas "

Se você controlar "seu" fonte e estão ligando para outra montagem "seu" binário, mas você não pode mudar (ou não querem também mudar :) os namespace / tipo especificadores (por exemplo, AMBOS de você declarar Sistema ). Na verdade, eu corri para este uma boa quantidade ultimamente, com todas as atualizações Beta / Alpha / versão para o CLR / DLR, MS foi produzindo um monte em seu namespace publicada do.

Quando você importa montagem "seu", normalmente o compilador irá configurá-lo para o namespace (reservado) global. Em MSVC, você vai para propriedades na referência de montagem, vá para onde ele diz da " Aliases ", então você pode especificar um novo nome, outros do que global. Ou, na verdade, alguns nomes.

Digamos que você use o nome imaginativa de " global2 ".

Você Then GoTo seus arquivos de origem e, ao TOP antes quaisquer declarações de namespace, você coloca;

extern alias global2;
using global2::System;

Seu código pode então usar os tipos de global2, como "Int32" ou qualquer que seja, você ainda pode renomeá-lo via;

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

btw, CodeBehind não é velho e não utilizado!

CodeBehind= é para páginas na Web Application (com arquivos .Designer.cs) e CodeFile= é para página na Web Site (assemblies compilados dinamicamente de modo sem arquivos .Designer.cs)

Eu tive esse problema hoje com um usuário da web controle, mas descobriu que a mudança CodeBehind = "..." para src = "..." é a causa do erro. [Link] http://stevenoderayi.blogspot.com/2011/04/resolved-cs0433-type-user-control.html [/ link]

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top