none
Solução Pré-Copilada RRS feed

  • Pergunta

  • Olá, sempre trabalhei com soluções do tipo web site, so que agora, tenho q dar manutenção em um site que é pré-copilado, ai quando vou roda-la da o seguinte erro:

    The directory '/solucaoempresarial/App_Code/' is not allowed because the application is precompiled.

    O que eu preciso fazer pra poder dar manutenção em um aplicação pre-copilada?
    Ricardo
    terça-feira, 21 de julho de 2009 13:44

Respostas

  • Bom, foi apanhando mto q consegui resolver, além de ter que deletar todas as dll, é preciso tirar tbm a referencia das mesmas em todas as paginas "aspx".
    No "inherits" fica registrado o nome da dll alem da classe de herança, então tive que tirar esse nome da dll.
    Ex:

    Arquivo pre-copilado: inherits="Empresa, App_Web_vygxv39b"
    arquivo norma: inherits="Empresa"

    Agora o que foi ____ mesmo, foi que tive q susbstituir o projoto inteiro so por causa de um arquivo..  F0$#da!!

    Vou ter pesadelo com esse sistema hj.. hehehehehehehehehe

    Ricardo
    • Marcado como Resposta _Ricardo Moura terça-feira, 21 de julho de 2009 20:58
    terça-feira, 21 de julho de 2009 20:58

Todas as Respostas

  • Ricardo,

    Quando você usa précompilação não pode publicar e nem precisa da pasta App_Code. Todo código está pré-compilado dentro do Bin da aplicação.

    Pré-complile, copie todo conteúdo pré-compilado para o servidor.
    Para facilitar nas atualizações, de forma que você possa atualizar o somente arquivos específicos do seu projeto, na hora de pré-compilar marque a opção "Use fixed naming and single paging assemblies".

    Espero ter ajudado. Caso consiga solucionar o problema em função desta resposta, peço por favor, clicar em “Marcar como Resposta” para que outras pessoas também possam usufruir deste conteúdo.

    Abraço.
    Daniel Garcia
    MCP, MCTS, MCDP
    Meu blog: www.danielgarcia.com.br

    terça-feira, 21 de julho de 2009 13:50
  • Acredito que vc não vá conseguir dar manutenção em uma aplicação pré-compilada.
    Vc precisaria do fonte original antes de ser compilado para poder trabalhar normalmente.
    Notepad na mão e uma idéia na cabeça......Se foi útil, marca lá.... Me ajuda que eu marco também... heheheh
    terça-feira, 21 de julho de 2009 13:50
  • Glauber, eu descobri q os codigos originais estão na pasta App_Code, se eu tiro a pasta e rodo o projeto, funciona. Será que tem como eu usar essa pasta em vez dos assemblys para rodar o projeto? Se não, vc teria alguma outra idea q possa me ajudar?
    No mais obrigado!
    Ricardo
    terça-feira, 21 de julho de 2009 16:14
  • As classes que você tem que estão pré compiladas você não vai conseguir mexer, e também ela deve estar dentro do diretório bin

    no entanto se você quiser dar manutenção tudo que for novo você terá que usar uma nova classe, trabalhar com herança também pode ajudar, vai ser um trabalho legal, uma experiência nova certo???



    Leonardo B. Moreira Web Developer .net with C# I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 16:16
  • Ola Ricardo,
    tem sim, apague todos os arquivos referentes as classes do App_Code que estão no bin

    ai então tente rodar novamente,
    vai funcionar

    eu participei de um projeto assim uma vez e comigo funcionou


    Leonardo B. Moreira Web Developer .net with C# I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 16:20
  • Leonardo, Nunca trabelhei com web aplication..
    eu tenho q corrigir um erro.. como vou corrigi-lo se não da pra mexer nas classe? caraca! tem q ter um jeito... <O>
    Ricardo
    terça-feira, 21 de julho de 2009 16:21
  • Se você tem os fontes não precisa se preocupar

    altere no fonte depois faça a recompilação do mesmo
    Leonardo B. Moreira - Web Developer .net with C# - I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 16:32
  • Leonardo, deletei as dll's referentes as classes, e deu o mesmo erro que comentei no começo do post, em seguitda deletei td da bin (até mesmo as ddl de ajax e etc) e o erro continua o mesmo. Será que tem alguma referencia no web config ou algum outro arquivo?
    Ricardo
    terça-feira, 21 de julho de 2009 16:34
  • qual a versão do .net você está usando?
    Leonardo B. Moreira - Web Developer .net with C# - I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 16:36
  • é um projeto framework 2.0

    Ricardo
    terça-feira, 21 de julho de 2009 16:38
  • é C# ou VB.net????

    realmente os arquivos da bin eu penso que você tem que tirar
    outra coisa, você deve conter um namespace comum em todas as classes dentro do App_Code

    por exemplo no C#:

    using Ricardo;

    namespace Ricardo
    {
        ...
    }

    então você precisa definir isso nos fontes .aspx.cs da seguinte maneira

    using Ricardo;


    se o site contém ajax tem que colocar as dlls do ajax dentro da bin

    verifica isso ai?

    Leonardo B. Moreira - Web Developer .net with C# - I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 16:46
  • C#
    Blz vou testar, eu so tirei as ddl's de ajax so mesmo pra ver se dava outro tipo de erro.
    Ricardo
    terça-feira, 21 de julho de 2009 16:48
  • Outra solução seria criar um projeto novo no visual studio
    como o framework 2.0

    e ir acrescentando ao poucos para diagnosticar onde está o problema

    você não pode ter o arquivo pre compilado e o fonte no mesmo projeto

    Leonardo B. Moreira - Web Developer .net with C# - I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 16:49
  • Eai Rafael,
    tudo certo por ai???

    conseguiu resolver o seu problema??


    se sim marca um post meu como resposta, obrigado.
    Leonardo B. Moreira - Web Developer .net with C# - I know, it is only programmer but I like it.
    terça-feira, 21 de julho de 2009 18:05
  • Bom, foi apanhando mto q consegui resolver, além de ter que deletar todas as dll, é preciso tirar tbm a referencia das mesmas em todas as paginas "aspx".
    No "inherits" fica registrado o nome da dll alem da classe de herança, então tive que tirar esse nome da dll.
    Ex:

    Arquivo pre-copilado: inherits="Empresa, App_Web_vygxv39b"
    arquivo norma: inherits="Empresa"

    Agora o que foi ____ mesmo, foi que tive q susbstituir o projoto inteiro so por causa de um arquivo..  F0$#da!!

    Vou ter pesadelo com esse sistema hj.. hehehehehehehehehe

    Ricardo
    • Marcado como Resposta _Ricardo Moura terça-feira, 21 de julho de 2009 20:58
    terça-feira, 21 de julho de 2009 20:58