Pergunta

Eu tenho tentado implantar meu aplicativo WPF, criei um projeto de configuração usando o assistente de configuração. A única saída do projeto que adicionei foi primária. Depois de construir isso e instalar o programa, assim que clico no EXE na minha área de trabalho, recebo um pop -up que diz "'Meu programa' parou de funcionar", então clico em depuração do programa e vejo

Uma exceção não tratada do tipo 'System.Windows.Markup.xamlparseException' ocorreu em ApresentationFramework.dll

Informações adicionais: 'O Set ConnectionId lançou uma exceção.' Número da linha '10' e posição da linha '9'.

Essa exceção não me aponta em nenhuma direção sobre o que consertar. Não existe 'ConnectionId' em nenhum lugar do meu aplicativo.

Eu já havia encontrado uma xamlparseException por causa do meu notifyicon para a bandeja do meu sistema, mas isso foi corrigido adicionando o ícone ao caminho do meu exe. Eu pensei que esse pode ser o problema, então adicionei o ícone ao meu projeto de configuração, juntamente com todas as outras saídas do projeto. Ainda não funciona.

Sei que isso é um erro vago, mas qualquer ajuda seria apreciada, meu aplicativo não será executado. Obrigado!

Foi útil?

Solução

Isso normalmente é causado por não ter todas as dependências copiadas para a saída. Como você diz, a mensagem de erro não é muito útil, mas eu verificaria se seu aplicativo possui todas as dependências necessárias disponíveis para resolver os tipos analisados.

Normalmente, basta definir a cópia local como true para montagens referenciadas, mas experimentei alguns casos em que as próprias referências de referência de referência, para que possa ser necessário adicionar explicitamente essas referências também.

Atualizar:

Adição importante por @benn1th.

Se você quiser ver o que é necessária uma montagem:

Estava obtendo o mesmo tipo de problema depois que eu publiquei e instalei meu projeto (estava funcionando bem na área de trabalho Debug vs2013, sem erros etc.), mas usei o conselho de de http://geekswithblogs.net/lbugnion/archive/2007/03/14/108728.aspx e wham! O projeto instalado estava funcionando ..

try

{
  InitializeComponent();
}
catch ( Exception ex )
{
  // Log error (including InnerExceptions!)
  // Handle exception
}

Outras dicas

Limpar e reconstruir a solução pode ajudar!

Eu tive esse problema com uma solução WPF no VS2010. A solução continha uma DLL simples e um projeto de teste (definido para inicializar) para testar a DLL. Minha DLL foi definida como x86 e meu projeto de teste foi definido como x64. Quando mudei o projeto de teste para x86, o problema foi resolvido.

Se você obtiver essa exceção no depurador, verifique o membro do Innerexception da exceção. Pode lhe dar uma dica sobre qual montagem está faltando.

Estava obtendo o mesmo tipo de problema depois que eu publiquei e instalei meu projeto (estava funcionando bem na área de trabalho Debug vs2013, sem erros etc.), mas usei o conselho de de http://geekswithblogs.net/lbugnion/archive/2007/03/14/108728.aspx e wham! O projeto instalado estava funcionando ..

try

{
  InitializeComponent();
}
catch ( Exception ex )
{
  // Log error (including InnerExceptions!)
  // Handle exception
}

Eu só tive boas 4 horas tentando descobrir isso. O meu acabou não tem nada a ver com o xaml! Aparou -se que foi um erro menor no código por trás do MainWindow Initialize.

Se tudo mais falhar, verifique lá

Limpar e reconstruir o projeto não foi eficaz para mim.

Você pode tentar excluir o diretório do bin e depois reconstruir, resolvi meu problema dessa maneira.

Eu tenho esse problema. Esse problema ocorre devido ao microsoft.expression.drawing.dll, faça o download do DLL e adicione referência.

Eu encontrei isso ao trabalhar com várias DLLs em execução dentro de um aplicativo e essas DLLs têm versões diferentes da mesma dependência carregada.

Normalmente, mesclamos as DLLs durante nossa versão de lançamento para impedir esse problema, mas vemos se estivermos testando mais do que um conjunto de DLLs não ridicularizados durante o ciclo de desenvolvimento.

A solução para testar apenas um conjunto de DLLs não -montadas, usando versões de liberação mesclada para as outras DLLs que não estão sendo testadas ou para garantir que a DLL dependente seja a mesma versão para ambos os conjuntos.

Eu resolvi esse problema removendo Assine a montagem, aqui :

enter image description here

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