O nome 'InitializeComponent' não existe no contexto atual

383

Se eu criar um novo projeto no Visual Studio 2010 SP1 e selecionar "Aplicativo WPF" e tentar criar o aplicativo gerado, recebo o erro

O nome 'InitializeComponent' não existe no contexto atual.

Recebi um erro semelhante nesta manhã quando tentei construir meu projeto atual. Ontem, não tive problemas em compilar e executá-lo.

Criei um novo projeto e recebia o erro sempre que compilava o projeto. Acabei de enviar o projeto para um colega, e ele acabou de compilar sem erros.

O que está errado?

user876402
fonte
3
Esse "erro" do usuário parece fácil de resolver, apenas uma simples definição adequada de x: Class. Até que tudo esteja bem, o desenvolvedor deve prestar mais atenção, mas e se não for esse erro, mas um erro fantasma com a mesma mensagem de erro? Eu li MUITAS soluções alternativas diferentes de vodu a partir de 2012. Isso ajudaria do VS uma mensagem de erro muito clara e, claro, uma correção de bug para os erros fantasmas com a mesma mensagem. Os desenvolvedores estão desde 2012 alterando a configuração de compilação de arquivos, projetos, copiando e colando o projeto, excluindo arquivos da pasta App, reiniciando o VS, etc. Bravo MS ... um bug de 4 anos e ainda envelhecendo!
21316 juagicre
2
Para futuros leitores desta pergunta: Esse problema parece ter muitas fontes possíveis. No meu caso, as primeiras respostas não ajudaram, mas uma das respostas mais abaixo estava correta.
MOnsDaR
O espaço para nome @MOnsDaR do arquivo Designer foi o problema para mim.
Ctrl S
Embora isso possa ser causado por muitas coisas (namespace renomeado \ Tipo de página - MSBuild), eu finalmente encontrei a solução para o que estava causando o problema no projeto que eu herdei. Nos arquivos .csproj, tive que alterar a "ToolsVersion" de 4 para 15 (VS 2017).
MrMikeJJ

Respostas:

737

Eu encontrei isso algumas vezes e continuo esquecendo o que causa isso. Eu me deparei com isso quando renomeei o espaço para nome no meu código por trás do arquivo, mas não no meu XAML.

Portanto, verifique se você fez o mesmo.

O namespace e os nomes de classe precisam corresponder, pois ambos fazem parte de uma classe parcial

namespace ZZZ
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow
    {
         //...
    }
}

<!-- XAML -->
<Window x:Class="ZZZ.MainWindow">
Sean B
fonte
10
Obrigado Sean. Eu vim aqui para postar esta resposta aqui, mas você já me venceu. Foi exatamente isso que aconteceu e resolveu meu problema. Seu comentário deve estar mais alto nos gráficos, pois isso me salvou 15 minutos.
Magnum
2
Se os nomes das classes não forem os mesmos, você receberá o mesmo erro
reggaeguitar
2
Essa é a resposta. Não sei por que não foi escolhido, mas é isso e me deparei com esse código em alguns Xamarin.Forms.
Marcus Shockley
11
Ao refatorar, certifique-se de incluir comentários e seqüências de caracteres (Visual Studio 2015)
Gabriel GM
3
Para mim (no Xamarain.Forms), usando um projeto "Início Rápido" baixado do Azure, era o espaço em branco / recuo entre xmlns: x = " schemas.microsoft.com/winfx/2009/xaml " e x: Class o problema. Eu apaguei e redigitei e funcionou!
James
241

A Ação de compilação para o arquivo .xaml também deve ser definida como "Página", ao mover um arquivo xaml entre projetos, essa configuração é perdida (pelo menos no VS 2010).

Segfault
fonte
11
Era isso que estava acontecendo comigo. Obrigado!
Ignacio Soler Garcia
3
Depois de uma cópia colar acontece que a mudança ação xaml construção de página para conteúdo
Roberto
4
Ainda acontece no Visual Studio 2012 (Atualização 2)
gumo 24/07
8
Ainda acontece no Visual Studio 2013
Chris Ray
7
Sério ... por que Microsoft, por que? Você me odeia?
qwertoyo
106

Para aqueles que não têm erros no modo de depuração, mas fazer tem o erro especificado no modo de versão (e ainda o projeto funciona muito bem), aqui está algo simples para tentar:

  1. Abra o arquivo XAML correspondente ao arquivo xaml.cs incorreto.
  2. Faça uma edição - qualquer edição, como adicionar um espaço em algum lugar
  3. Salve o arquivo e feche-o

Esse método funcionou para mim no VS 2015 e, de acordo com outros usuários, também em 2017 e 2019

BCA
fonte
3
Você é meu herói hoje. Obrigado
Peter pete
14
Loucamente, isso funcionou para mim com o VS2015. E corrigiu todos os erros em todos os arquivos XAML. Este é realmente um momento da WTF.
William Denman
5
Dang, eu acabei de me queimar com este novamente. Felizmente, encontrei a mesma resposta que já votei e comentei. Eu realmente deveria, mas isso como um post-it no meu monitor.
William Denman
3
O mesmo no VS2017 e isso foi corrigido.
Hans
2
Ainda funciona no VS2019 ...
soulflyman
29
  1. Navegue para o diretório da solução
  2. Exclua a pasta \ obj
  3. Reconstrua a solução

Encontrei esse erro durante a refatoração, onde renomeei alguns arquivos / pastas e os arquivos * .g.cs prexistentes precisavam ser gerados novamente.

JordanBean
fonte
Parece que tenho o mesmo problema, mas isso não funcionou para mim.
precisa saber é o seguinte
Faça isso depois de verificar se o seu xaml x:Classcorresponde ao Namespace.Class.
Jake
TNX. esse truque simples fez isso por mim.
gil adino 11/03
26

Há uma razão muito específica para isso, e está nas configurações do projeto. Isso geralmente acontece sempre que você tenta adicionar um controle / janela WPF a uma biblioteca ou projeto de classe .NET 2.0. O motivo desse erro é que o projeto não sabe que está criando um controle ou janela do WPF e, portanto, tenta construí-lo como um projeto C # 2.0.

A solução envolve editar o arquivo .csproj. Clique com o botão direito do mouse no projeto que está causando o problema e selecione “Descarregar projeto”. Clique com o botão direito do mouse no projeto descarregado e selecione "Editar .csproj". O arquivo .csproj será aberto e você poderá ver o XML. procure a seguinte linha:

<Import Project=…..

É perto do final do arquivo, e a única linha que você tem é provavelmente

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

Isso informa ao Visual Studio para criar o projeto como um projeto .NET 2.0. O que queremos fazer é dizer ao Visual Studio que esse é realmente um projeto WPF, portanto, precisamos adicionar a seguinte linha:

<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

Esta linha instruirá o Visual Studio a criar o projeto como um projeto WPF. Agora, o final do arquivo .csproj deve ficar assim:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

Salve o arquivo .csproj, clique com o botão direito do mouse no Solution Explorer e selecione a opção “Reload Project” compile e pronto, pronto!

Shailender Singh
fonte
11
Eu tentei isso antes de escrever esta pergunta e não ajuda. Eu acho que é um pouco estranho que não consigo compilar novo projeto, mas o meu colega lata ...
user876402
11
Eu também tentei e não ajudou. A adição da nova importação resultou em um novo aviso (veja abaixo), mas o erro original ainda está lá. "C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.WinFX.targets" não podem ser importados novamente. Ele já foi importado em "C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.NETFramework.targets (76,3)". Provavelmente, é um erro de criação de criação. Essa importação subsequente será ignorada. "
user316117 03/08/12
Eu também tentei e não funcionou ...?
Sizons
Obrigado, isso corrigiu para mim, em um projeto que eu herdei.
MrMikeJJ
22

isso aconteceu comigo quando eu excluí acidentalmente a referência de classe da definição xaml:

Eu substituí o

<Window x:Class="myapp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

primeira linha com isso:

<RibbonWindow 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

Sei que essa não é a resposta para a pergunta original (porque esse projeto se baseia em outra máquina), mas a mensagem de erro foi a mesma, então talvez eu ajude alguém com essa situação.

p3d3str1an
fonte
esse não era exatamente o meu problema, mas me ajudou a localizá-lo. Tive o namespace sem o nome da classe depois
Rivenfall
Isso funcionou para mim. obrigado
Sinaesthetic
Isso me ajudou a encontrar o meu problema, no meu caso eu estava faltando o x: linha Class, adicionando esta corrigiu o problema para mim
apc
18

Você pode receber esse erro ao importar uma classe de outro projeto ou alterar o caminho do arquivo xaml ou o espaço para nome do arquivo xaml ou atrás do arquivo .cs.

Um: pode ter um espaço para nome que não seja o mesmo que você possui em seu novo projeto

namespace TrainerB.MVC.Forms
{
     public partial class AboutDeveloper : ContentPage
     {
          public AboutDeveloper()
          {
               InitializeComponent();
          }
     }
}

Como você pode ver, o espaço para nome no arquivo importado começa com o antigo nome do projeto: "TrainerB" , mas seu novo projeto pode ter um nome diferente; basta alterá-lo para o novo nome correto do projeto, no arquivo .xaml e o arquivo .cs de trás.

Dois:

altere as propriedades do arquivo .xaml para:

Ação de Compilação: Recurso Incorporado

Ferramenta personalizada: MSBuild: UpdateDesignTimeXaml

Propriedades do arquivo Xaml

Namespace Xaml corrigindo 01

Namespace Xaml corrigindo 02

Reader Man San
fonte
AMD! muito obrigado por essa solução. Eu testei todas as soluções encontradas lá e nada funciona. O truque estava nas propriedades do xamlarquivo. +1
IgniteCoders
16

Verifique se no arquivo xaml

<Page x:Class="Project1.Page1" ...

corresponder ao nome do 'Projeto1' e ao nome da 'Página1'

Canção
fonte
Isso resolveu meu problema.
Octavian
16

Verifique o arquivo do Designer .

Eu tive esse mesmo problema. No meu caso, a causa era que o namespacepara FileName.Designer.cs não coincidir com o (correto) namespaceusado em FileName.cs .

Alterar o nome namespacedo arquivo.Designer.cs para corresponder ao nome do arquivo.cs resolveu o problema imediatamente.

Ctrl S
fonte
14

Eu já tive isso (embora tenha sido muito minha culpa e tenha sido causado depois que copiei e colei algum código); isso pode ocorrer quando o espaço para nome não corresponde ao XAML e ao código por trás

POR EXEMPLO

<UserControl x:Class="DockPanel.TreeView" />

e o código por trás é

namespace NotDockPanel
Dave
fonte
Isso me levou a descobrir que meu Designer tinha um espaço para nome incorreto. Obrigado!
Ctrl S
13

Encontrei isso ao renomear um controle de usuário. A maneira como eu o corrigi foi comentar InitializeComponent, verificar se todos os nomes estavam corretos (xaml e code behind), criar o projeto, remover o comentário InitializeComponent e depois compilar novamente. Parece que pode haver algumas causas / soluções para esse problema, mas dessa maneira o fizeram por mim.

Morgan Herlocker
fonte
11
Eu não renomeei nada? No entanto, esta solução funcionou para mim. Os arquivos * .g.cs e * .gics estavam ausentes na pasta obj, comentando-os e criando o projeto, geraram os arquivos ausentes. Não tenho certeza de como ele entrou nesse estado.
finlaybob
11

Nenhuma das respostas acima funcionou para mim. Eu tentei todos eles, exceto os duplicados. No entanto, por algum motivo estranho, isso funcionou no meu projeto de plataforma cruzada no Visual Studio 2015:

  1. Clique com o botão direito do mouse no projeto que está causando o problema no Solution Explorer. No menu pop-up, escolha: Adicionar -> Classe
  2. Selecione plataforma cruzada -> Página Forms Xaml. Mantenha o bonito nome padrão Page1.cs e clique em Adicionar.
  3. Observe como o problema anterior InitializeComponent () desapareceu por algum motivo.
  4. Exclua o Page1.cs recém-criado e continue a programar como se o Visual Studio estivesse funcionando perfeitamente.
Anders
fonte
Este funcionou para mim. Eu havia copiado e colado e renomeado o controle de usuário que tinha, quando o InitializeComponent () começou a falhar.
Rafael Ventura
Como diabos você tropeçou nessa correção? Eu tentei de tudo e isso funcionou. Usando o VS 2017, o problema é atual.
blearyeye
Ótimo, isso funcionou para mim. Muito obrigado
IZI
9

Concordo com a resposta acima que os namespaces devem corresponder. No entanto, tive um problema como esse em que os namespaces correspondiam.

Para corrigir, simplesmente alterei o espaço para nome no XAML para um incorreto, salvei e mudei de volta para o correto. Voila!

heights1976
fonte
Eu teria adicionou-a como um comentário à resposta correta, mas eu não tenho o representante para fazê-lo :(
heights1976
Obrigado por isso! Trabalhou para mim depois de enlouquecer tentando todo tipo de coisa. Minha solução foi criada originalmente sem erros, depois que o PC dormiu por um tempo e tentou novamente e estava recebendo o erro. Talvez algo a ver com o modo de suspensão?
JeremyB
Eu tive o mesmo problema e solução. Acredito que tenha algo a ver com o IntelliSense. A alteração do espaço para nome no xaml provavelmente desencadeou uma atualização das partes relevantes no banco de dados IntelliSense. Isso é apenas um palpite.
FishySwede
8

Se você estiver usando o Xamarin Forms e mover um arquivo XAML, a "ação de compilação" do arquivo será alterada. O Xamarin Forms requer "ação de compilação = Recurso Incorporado".

Aplique "ação de compilação" no Visual Studio:

Select the XAML file -> Properties -> Build Action = Embedded Resource

Tonatio
fonte
Viva, senhor / senhora!
naspinski
7

Eu tento todas as sugestões acima. Se você tentar sem sucesso, obtenha o caminho mais fácil. Crie um novo page.xaml e copie seu código para a nova classe e exclua a classe XAML com problemas. Não gaste mais tempo.

Diego Venâncio
fonte
7

Descarregue a solução inteira e recarregue-a novamente. Em seguida, reconstrua a solução. Isso resolveu o problema para mim.

Eldhose
fonte
Obrigado trabalhou para mim!
Izion
6

Outra causa comum desse erro é se você fez algo nisto:

  1. Clique com o botão direito do mouse na pasta do projeto para criar um novo UserControl. Isso cria um arquivo de classe e xaml que deriva do controle do usuário no espaço para nome da pasta.

  2. Então você decide alterar o espaço para nome da classe porque realmente está apenas usando pastas para organização do código. O atributo x: Class não será atualizado automaticamente; portanto, ele estará procurando por uma classe que não existe. Provavelmente, poderia usar uma mensagem de erro melhor como "x: O tipo de classe não pôde ser encontrado no namesace bla.blaa.blaaa".

user1834059
fonte
5

Outra solução para esse problema é simplesmente alterar a propriedade-> Construir Ação no XAML de Embedded Resource para qualquer outra coisa, salvar e alterá-la de volta para Embedded Resource. O erro desaparece.

Mark McCorkle
fonte
Funcionou duas vezes;)
Flou
4

Eu sei que isso foi respondido devido a uma causa diferente, mas esta é uma postagem muito bem-sucedida e eu tive o mesmo problema com uma biblioteca de classes. Nesse caso, acabou sendo uma alteração no meu namespace (respondida nesta postagem aqui ) e que o compilador não pôde reconstruir o Window.gics, que define o método InitializeComponent (). Não foi possível porque a biblioteca de classes estava com falta do valor ProjectTypeGuid para projetos WPF no arquivo csproj. As instruções para isso estão aqui e aqui . Eu pensei em compartilhar caso outra pessoa tenha o mesmo problema. Apenas alterar o espaço para nome não é suficiente neste caso.

bjhuffine
fonte
3

Isso aconteceu comigo porque um desinstalador de pacote Nuget eliminou todos os atributos do elemento <Application> no App.xaml. Isso incluiu o atributo x: Class, que especifica o nome da classe do aplicativo. Portanto, a classe parcial que contém o método InitializeComponent () nunca foi gerada.

Corrigi o problema revertendo App.xaml para a cópia controlada pela fonte.

Richard Beier
fonte
Eu recebi o mesmo erro devido a um atributo x: Class ausente, mas não tinha nada a ver com Nuget. Apenas desapareceu de alguma forma, provavelmente alguma mágica do estúdio visual.
Ismail Degani
3

Isso resolveu para mim.

Eu tinha comentado os recursos no arquivo App.xaml

<Application x:Class="MyApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
    <!--<ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary
            Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>-->
  </Application.Resources>
</Application>

Comentando isso, foi corrigido o erro de compilação.

<Application x:Class="MyApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary
            Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

Aprofundando um pouco, descobri que o arquivo app.g.cs em {Project} \ obj \ debug continha apenas o seguinte quando deixei o recurso comentado.

/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void InitializeComponent() {
    if (_contentLoaded) {
        return;
    }
    _contentLoaded = true;
    System.Uri resourceLocater = new System.Uri("/MyApp;component/app.xaml", System.UriKind.Relative);

    #line 1 "..\..\..\App.xaml"
    System.Windows.Application.LoadComponent(this, resourceLocater);

    #line default
    #line hidden
}
bic
fonte
3

Para quem encontra isso na internet. Verifique o arquivo Windows.csproj se a compilação estiver lá. Deve haver 2 entradas

<Page Include="YourFile.xaml">
  <SubType>Designer</SubType>
  <Generator>MSBuild:Compile</Generator>
</Page>

<Compile Include="YourFile.xaml.cs">
  <DependentUpon>YourFile.xaml</DependentUpon>
</Compile>
acsadam0404
fonte
No meu csproj eu estava perdendo o <DependentUpon>YourFile.xaml</DependentUpon>por algum motivo e é isso que o corrigiu para mim!
Isaac Baker
3

Se os namespaces estiverem corretos, também haverá o mesmo erro,

Apenas feche seu aplicativo e abra-o novamente .

Isso pode resolver seu problema

Syed Siraj Wajeed
fonte
abrir e fechar visual studio você quer dizer?
precisa saber é o seguinte
Algumas vezes, o XDesProc.exe (Designer de UI do XAML do Microsoft Visual Studio) interrompe o Visual Studio para funcionar corretamente e não carrega o arquivo xaml corretamente. Então, reiniciar o Visual Studio resolveu meu problema. (Você também pode acessar os processos no Gerenciador de tarefas e interromper apenas esse processo sem reiniciar o Visual Studio).
Syed Siraj Wajeed 15/02
Eu descobri isso no VS2017. Eu havia mudado tudo e os espaços para nome estavam corretos em todos os lugares, mas as chamadas InitializeComponent () tiveram o erro e as palavras-chave parciais nos arquivos xaml.cs receberam um aviso, algo como "classe parcial tem apenas um arquivo". Por acaso, fechei e reabri a solução e descobri que esses dois problemas se resolveram.
Steve guindaste
3

Após alguma ação, o espaço para nome do arquivo .cs e o arquivo .xaml podem ser diferentes (no xaml, procure o x: Class = "namespace.yourType").

Corrija-os para que sejam iguais.

Mauro Sampietro
fonte
3

Eu descobri que o "objeto de inicialização" estava (não definido) causando esse erro para mim.

"Objeto de inicialização" (não definido)

Rocha
fonte
Todas as outras especificidades mencionadas na pergunta eram iguais?
marklark
2
Os detalhes exatos não são exatos, considerando que a questão não estava clara sobre como a exceção se manifestou. No entanto, o sintoma subjacente é idêntico, portanto, não vejo nada de errado com a minha resposta. Minha intenção era aumentar a conversa, pois nenhuma resposta / comentário ajudou no meu caso. Eu estava apenas tentando adicionar à base de conhecimento os erros de compilação muitas vezes indefinidos.
Rock
11
Obrigado! Resolveu o meu problema! Parece que a opção fornecida ( objeto de inicialização ) foi redefinida automaticamente quando mudei o MainWindow.xaml de rootpara o Viewdiretório.
AlexMelw
3

Como esse parece ser o tópico principal do problema referente à falta de 'InitializeComponent', incluirei minha resposta aqui.

Eu também estava tendo esse problema e tentei tudo o que encontrei aqui e em todos os outros fóruns que o Google encontrou, mas nenhum resolveu o problema para mim. Depois de duas horas tentando de tudo, finalmente descobri o que havia de errado com minha configuração.

Em nosso projeto, estamos usando componentes Metro do MahApps . A visão que estava me causando problemas era uma visão herdada do MetroWindow, assim:

<Controls:MetroWindow x:Class="ProjectNamespace.MyView"
                      xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
                      ... >

Agora, eu defini meus recursos estáticos como

<Controls:MetroWindow.Resources>
    <prop:Resources x:Key="LocalizedStrings"/>
    ...
</Controls:MetroWindow.Resources>

Foi assim que defini Recursos em UserControls em todas as minhas outras visões, e foi o que presumi que funcionaria.

Mas não foi esse o caso Controls:MetroWindow! Ali eu precisava absolutamente da definição de recurso da seguinte maneira:

<Controls:MetroWindow.Resources>
    <ResourceDictionary>
        <prop:Resources x:Key="LocalizedStrings"/>
        ...
    </ResourceDictionary>
</Controls:MetroWindow.Resources>

Então, meu problema, em resumo, era uma <ResourceDictionary>tag ausente . Realmente não sei por que isso produziu o erro 'InitializeComponent' e, estranhamente, nem o produziu em todas as minhas máquinas, mas foi assim que eu o corrigi. Espero que isso ajude (os restantes 0,001% das pessoas que enfrentam esse problema).

Tom Ladek
fonte
2

Acabei de encontrar esse problema e o projeto foi armazenado na minha pasta de usuário, que é armazenada na rede, e tivemos uma interrupção momentânea na rede. Eu fiz uma construção; queixou-se de que meus arquivos haviam sido modificados fora do editor (eles não tinham; os bloqueios de arquivo acabavam de funcionar) e funcionou perfeitamente, removendo o erro referente ao InitializeComponent()método.

BTW, no caso de você estar se perguntando, desenvolver algo a partir de uma unidade de rede é uma prática ruim. Isso se torna particularmente problemático quando você está tentando aproveitar o código gerenciado do .NET; na minha experiência, ele assusta toda vez que você constrói. Esqueci de colocar esse pequeno projeto descartável na pasta apropriada e acabei pagando o preço.

JD Ray
fonte
2

Outra explicação possível é que você está construindo contra o x86. Clique com o botão direito do mouse em sua solução e escolha Gerenciador de Configurações. Veja se você está construindo contra x86 em vez de qualquer CPU.

Pedro
fonte
2

Entendo que essa é uma pergunta mais antiga, mas estávamos tendo um problema semelhante. Conseguimos criar um projeto usando o VS2012, mas não usando o msbuild na linha de comando. Entrei no arquivo .proj e notei que não havia um registro para "ProjectTypeGuids" na seção padrão "PropertyGroup", então adicionei o seguinte:

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

qual é o GUID do projeto para o WPF. Em seguida, excluí e adicionei novamente o UserControl e ele começou a funcionar. Não tenho certeza se tive que fazer o último passo, mas funciona para mim agora.

Jon Nos
fonte
2

Por algum motivo, depois de copiar .xaml e .cs entre projetos, a ação de compilação às vezes muda. Certifique-se de que a ação de compilação do seu .xaml seja a Página.

Marek Malczewski
fonte