Implantação DLLs Projeto causa 'tipo x existe em ambos os' erros

votos
4

Eu tenho um projeto WebApplication, um projeto de lógica de negócios, e um projeto de WebDeployment para o aplicativo web.

Quando eu construir uma solução, a implantação bin Release contém 1 dll para cada um dos projectos - por isso fico um para MyWeb.dll, MyWebBusiness.dll e MyWebDeploy.dll.

Quando tento executar o site, ele vê o mesmo tipo em ambas MyWeb.dll e MyWebDeploy.dll e bobinas.

Mensagem de erro: CS0433: O tipo 'AV' existe tanto 'c: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 53d45622 \ 6c032bd2 \ assembly \ DL3 \ 33f3c6b2 \ abc9430a_285ac901 \ MyWeb .DLL' e 'c: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Arquivos temporários ASP.NET \ root \ 53d45622 \ 6c032bd2 \ assembly \ DL3 \ 631e5302 \ 0231160d_285ac901 \ MyWebDeploy.DLL'

Publicado 09/12/2008 em 19:17
fonte usuário
Em outras línguas...                            


4 respostas

votos
10

Algumas razões que posso pensar:

  • Você tem uma App_Code diretório em seu projeto
  • Você tem um CodeFile diretiva de página na marcação alguma página em vez de CodeBehind
Respondeu 09/12/2008 em 19:36
fonte usuário

votos
0

Adicionar lote = "false" para o arquivo web.config

Dê aos seus arquivos corrigir nomes principalmente para masterpages

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

  ...
Respondeu 06/01/2013 em 12:14
fonte usuário

votos
0

Eu converti o meu projeto a partir do Web site para aplicativos Web e teve CodeFile em todas as páginas em vez de CodeBehind mesmo que eu usei VS opção "converter para WebApp". Substituindo CodeFile com CodeBehind fez manualmente resolver o meu problema. Adicionado isso para que ele possa ajudar qualquer outra pessoa se converter ao webapp.

Respondeu 16/02/2012 em 22:49
fonte usuário

votos
0

Há um grande post fórum sobre isto em: http://forums.asp.net/t/980517.aspx

Parece que tudo o que preciso é o bit direito de código no projecto de aplicação Web e e VS diz 'Oh, este é um projeto website então é melhor eu autocompile-lo', e então cai quando se encontra já foi compilado como uma única DLL bem.

Causas listadas por Darin acima são os principais culpados.

Note que é possível obter um erro semelhante por accidentially ter duas referências para o mesmo assembly, referências de casal em sua seção montagens web.config, ou queda acidental uma cópia duplicada de um CodeFile em uma pasta no projeto, mas estes normalmente ser bastante óbvio se você tiver depuração ligado em sua web.config, ea mensagem de erro deve mencionar uma montagem diferente da montagem App web {WebAppName} .dll e montagem compilado-auto App_Web_ {number} .dll

Há muito poucas pessoas dizendo (no segmento de referência) que os manipuladores de eventos estavam causando problemas, mas eu acho que é apenas que há algo estranho no código por trás da qual está sendo interpretado como impondo uma autocompile. Eu estou no mesmo barco, tenho recortado e colado um monte de código de exemplo para a minha aplicação web, e verificados todos os acima. No entanto, muitas das páginas têm código por trás que tem o código sobre eles 'Form Designer Web gerado' já, então quando eu botão direito do mouse o aplicativo no Solution Explorer e escolha 'converter para aplicação web', nada acontece. O código antigo permanece lá ea dupla compilação continua.

Então eu diria que para além destas mensagens: Se o código foi recortado e colado e não é algo que o conversor não gosta, não vai convertê-lo ea dupla compilação vai continuar. A única solução é adicionar as páginas ofensivas como novos itens, copiar marcação e código mais (pouco a pouco, se necessário), em seguida, remover as versões antigas.

No meu caso, eu só fui a um Web site para o projeto, porque eu não podia ser incomodado e foi só um projeto de demonstração de qualquer maneira.

Respondeu 09/02/2010 em 08:53
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more