none
Problema ao rodar projeto web RRS feed

  • Pergunta

  • Diversas vezes ocorre o erro abaixo ao tentar rodar um projeto web.
    Quando ocorre eu tenho que dar um "Rebuild" para voltar a funcionar.

    Managed Debugging Assistant 'BindingFailure' has detected a problem in 'C:\Program Files (x86)\IIS Express\iisexpress.exe'.

    Additional information: The assembly with display name 'App_Web_bz2lawcg' failed to load in the 'LoadFrom' binding context of the AppDomain with ID 3. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'App_Web_bz2lawcg' or one of its dependencies. O sistema não pode encontrar o arquivo especificado.

    terça-feira, 28 de junho de 2016 15:37

Todas as Respostas

  • Boa tarde, Yitzhak!

    Tem uma thread no stackoverfow falando sobre isso:

    http://stackoverflow.com/questions/784157/asp-net-corrupt-assembly-could-not-load-file-or-assembly-app-web

    Not to just link up my site but i have run into this issue and i wrote a blog post on the topic. Check it out, it has links to more info on this topic. But to sum it up here are the details:

    Problem:

    The website is throwing an error trying to load a custom web control. You see in the last release, we added a new custom control to another custom web control that is displayed as needed. Because the outer most/parent control and the new child control are separate controls in source, when the .Net Framework goes to compile one of these two controls and does not recompile the other one at the same time you will have a an out of date file trying to reference the old version of the assembly. The fact that the .Net framework appends a random string to the name of the assembly at compile time the name of the newly compiled file and the previous version of the file cause a file name mismatch and therefore the outer/parent control is looking for a file that no longer exists.

    Possible Work Around(s) or Temporary Fixes:

    1) By setting the batch property of the compilation tag to false in the web.config file

    <compilation debug="false" batch="false" />

    2) You can also decrease how often it happens by setting by the numRecompileBeforeAppRestartproperty:

    <compilation debug="false" numRecompilesBeforeAppRestart="50" />

    See the KB Article 934839 for more details

    Fixes for the Issue after it has already taken place:

    1) Delete temp ASP.Net files (this takes down the site)

    2) Force the parent/outter control to recompile, edit and save the code file. This is a better option for a fix than #1 because this does not bring down the website.

    My Suggestion:

    1) First I think that we should put in place the temporary fix #1 from above, this might prevent all issues in the future and could be the only answer we need.

    2) Second I would download and install the 934839 hotfix from Microsoft in the QA environment to verify that it does not cause any problems. After some time of testing the hotfix in QA I would install the hotfix to have a permanent fix for this issue. At this time we could remove the temporary work around #1.

    Note: After putting Temp fix #1 I have not had the problem again. I have had this fix in place for over 12 months and all is good!


    Att,
    Leandro

    Se foi útil, marque como útil ou como resposta.

    terça-feira, 28 de junho de 2016 15:44
  • Quando isso ocorre eu simplesmente deleto a pasta BIN e a pasta OBJ e recompilo o projeto.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    terça-feira, 28 de junho de 2016 16:29
    Moderador
  • Eu gostaria de uma solução definitiva, pois no meu projeto apenas dando o rebuild (que apaga os registros BIN, OBJ e temporários do projeto) já funciona.

    quarta-feira, 29 de junho de 2016 13:55
  • Para mim esse problema só ocorre quando eu copio um projeto existente e depois eu altero no nome do projeto. Como eu nao faço isso sempre, para mim, esse problema quase nunca ocorre. 

    O que pode estar ocorrendo no seu caso (veja se isso procede): Voce tem duas  soluçoes web abertas simultaneamente que apontam para a mesma porta.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quarta-feira, 29 de junho de 2016 14:10
    Moderador
  • Para mim esse problema só ocorre quando eu copio um projeto existente e depois eu altero no nome do projeto. Como eu nao faço isso sempre, para mim, esse problema quase nunca ocorre. 

    O que pode estar ocorrendo no seu caso (veja se isso procede): Voce tem duas  soluçoes web abertas simultaneamente que apontam para a mesma porta.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Não... Reiniciei a máquina, abri somente uma solução web, e o problema persiste.
    quarta-feira, 29 de junho de 2016 14:43
  • Outra coisa que me ocorreu. Essa sua outra questao:

    Problema ao procurar referências de um método

    Trata-se do mesmo projeto?

    Si sim, eu sugiro verificar a dependencias de cada projeto.

    Ja me ocorreu problema semelhante. Na minha soluçao haviam mais ou menos 20 projetos (uma aplicaçao web e varias bibliotecas). Haviam referencias que estavam apontando por solucao e outras diretamente à dll compilada.

    O que eu fiz foi. Criar uma nova soluçao, adicionar cada projeto. Limpar as referencias e readiciona-las.

    Isso resolveu o problema de nao encontrar as referencias... Creio que isso pode estar interferindo tambem no fato de compilar o projeto.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quarta-feira, 29 de junho de 2016 15:24
    Moderador
  • Outra coisa que me ocorreu. Essa sua outra questao:

    Problema ao procurar referências de um método

    Trata-se do mesmo projeto?

    Si sim, eu sugiro verificar a dependencias de cada projeto.

    Ja me ocorreu problema semelhante. Na minha soluçao haviam mais ou menos 20 projetos (uma aplicaçao web e varias bibliotecas). Haviam referencias que estavam apontando por solucao e outras diretamente à dll compilada.

    O que eu fiz foi. Criar uma nova soluçao, adicionar cada projeto. Limpar as referencias e readiciona-las.

    Isso resolveu o problema de nao encontrar as referencias... Creio que isso pode estar interferindo tambem no fato de compilar o projeto.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Coloquei os projetos em outra solução, mas ainda não deu.

    Porém, percebi o seguinte: o projeto que está com "problema" é o tipo WebSite, e tem uma referência de outro projeto (biblioteca de classes) que está sendo pela DLL já compilada (o estranho é que essa arquitetura não mudou, e no VS2013 funcionava normalmente).

    quarta-feira, 29 de junho de 2016 20:13
  • Era o mesmo tipo de projeto. Um WebSite com varias biblioteca de classes.

    Outro detalhe que eu esqueci. Nesse projeto eu tambem defini manualmente a ordem de compilaçao.

    http://www.shujaat.net/2013/04/tips-tricks-visual-studio-2012-code.html

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quinta-feira, 30 de junho de 2016 14:40
    Moderador