> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Erros de implantação no Visual Studio

> Erros de implantação no Visual Studio

As verificações de configuração e de implantação podem causar o seguinte erro de implantação no Visual Studio:
`Files for Configuration='Debug' are either not built, or not completely copied to the layout directory. Build required to proceed.`
Resolva esse erro da forma a seguir.

### Contexto

A implantação do Visual Studio executa um conjunto de verificações para garantir que a configuração do Visual Studio que você selecionou para compilar e implantar (como debug ou release) seja a que realmente é implantada a partir da pasta `Gaming.Xbox.XboxOne.x64\Layout\Image\Loose`. Essas verificações resolvem problemas causados pela implantação de configurações parcialmente compiladas; tentar implantar uma configuração parcialmente compilada pode causar problemas de registro do aplicativo ou falhas difíceis de diagnosticar.

Isso parece ser um problema principalmente quando você alterna de uma configuração de build para outra e tenta implantar sem fazer uma recompilação.

Embora essas verificações sejam uma enorme ajuda para quem depende exclusivamente do sistema de projetos XBOX para garantir que tudo esteja devidamente atualizado, elas podem causar problemas em ambientes de build personalizados. Este tópico explica como diagnosticar e corrigir esses problemas. Se você encontrar problemas que não sejam fáceis de resolver e precisar de ajuda, entre em contato com seu gerente de conta de desenvolvedor (DAM).

As verificações são gerenciadas por meio dos arquivos XML gerados pelo sistema de build no diretório `Gaming.Xbox.XboxOne.x64\Layout\Contributors`. Se `IsolatedConfiguration=No`, há um arquivo para todas as configurações. Se `IsolatedConfiguration=Yes`, há um arquivo por configuração.

Cada arquivo XML lista os arquivos que devem estar no diretório `Gaming.Xbox.XboxOne.x64\Layout\Image\Loose` para uma determinada configuração, além da origem desse arquivo. Veja a seguir um exemplo.

```xml theme={null}
<Contributor ComponentSource="c:\scratch\d\gdk\samples\setfastresources_06_2014\graphics\setfastresources\setfastresources140.vcxproj_release">
  <Configuration Name="Release">
    <File Source="C:\GDK\Samples\SetFastResources_06_2014\graphics\SetFastResources\Gaming.Xbox.XboxOne.x64\Release140\bin\file.txt">C:\GDK\Samples\SetFastResources_06_2014\graphics\SetFastResources\Gaming.Xbox.XboxOne.x64\Layout\Image\Loose\file.txt</File>
    ...
    <File Source="C:\GDK\Samples\SetFastResources_06_2014\graphics\SetFastResources\Gaming.Xbox.XboxOne.x64\Release140\bin\Media\Textures\ATGStoreLogo.png">C:\GDK\Samples\SetFastResources_06_2014\graphics\SetFastResources\Gaming.Xbox.XboxOne.x64\Layout\Image\Loose\Media\Textures\ATGStoreLogo.png</File>
  </Configuration>
</Contributor>  
```

Se o arquivo não existir ou precisar ser atualizado, ele será copiado de **Source** para a pasta `Gaming.Xbox.XboxOne.x64\Layout\Image\Loose`. Se o arquivo **Source** não existir ou o arquivo **Configuration** estiver vazio (porque você está compilando usando um processo de build personalizado), a implantação falhará com um erro semelhante ao seguinte.

`Expected file in OutputDir 'missing.txt' does not exist.`

`Files for Configuration='Debug' are either not built,
          or not completely copied to the layout directory.
          Build required to proceed.
        `

### Diagnosticar problemas

Normalmente, esse problema é causado por uma das situações mostradas na tabela a seguir.

| Causa possível | Como corrigir |
| - | - |
| Um desenvolvedor alternou entre configurações, e a nova configuração não foi compilada. | Recompile e implante novamente. |
| A configuração que está sendo implantada não tem alguns arquivos. | Corrija o sistema de build para garantir que os arquivos ausentes sejam compilados. A mensagem de erro deve indicar o que está faltando. Caso contrário, verifique os parâmetros *Source* e *Target* definidos no arquivo de configuração Contributors. |
| O mesmo local é usado para o diretório intermediário (<b>IntDir</b>) e o diretório de saída (<b>OutDir</b>). | Use locais diferentes para <b>IntDir</b> e <b>OutDir</b>. |
| Um desenvolvedor alterou o valor do parâmetro de build *IsolatedConfiguration* (de <b>No</b> para <b>Yes</b> ou de <b>Yes</b> para <b>No</b>). | Exclua a pasta <code>Gaming.Xbox.XboxOne.x64\Layout</code> e recompile o projeto. |
| Um desenvolvedor está usando um processo de build personalizado que não atualiza o arquivo de configuração Contributors. | Atualize o processo de build personalizado para gerar um arquivo Configurations válido. Como alternativa, você pode recusar as verificações adicionais de configuração de implantação. Para obter mais informações, veja a seção Recusar as verificações adicionais a seguir. |

### Recusar as verificações adicionais

Você pode recusar essas verificações adicionais usando a propriedade **DisableConfigurationRefresh**.

> <img src="https://mintcdn.com/microsoft-4404708b/z-rLYkO3Ax6HPtgm/images/gdk/tools/caution.gif?s=c35e42b8bb5ca0bdac12d10f6c467c29" alt="cuidado" width="11" height="11" data-path="images/gdk/tools/caution.gif" />**CUIDADO:** tenha cuidado ao usar a propriedade **DisableConfigurationRefresh**. Desativar essas verificações significa que o sistema de build do Visual Studio não valida se o conteúdo da pasta `Image\Loose` está correto antes de iniciar a implantação. Você pode encontrar exatamente os tipos de problemas difíceis de diagnosticar que essas verificações foram projetadas para evitar. Antes de usar essa propriedade, verifique se o seu processo de build está correto e se alternar entre configurações não deixa a pasta `Image\Loose` em um estado incorreto.

Para adicionar a propriedade **DisableConfigurationRefresh**, abra o arquivo do projeto em um editor de texto. No grupo de propriedades **Globals**, adicione uma entrada para `<DisableConfigurationRefresh>true</DisableConfigurationRefresh>`. Veja a seguir um exemplo.

```xml theme={null}
<PropertyGroup Label="Globals">
  <RootNamespace>SetFastResources</RootNamespace>
  <VCTargetsPath Condition="'$(VCTargetsPath14)' != '' and '$(VSVersion)' == '' and '$(VisualStudioVersion)' == ''">$(VCTargetsPath14)</VCTargetsPath>
  <DefaultLanguage>en-US</DefaultLanguage>
  <ProjectGuid>{25D7897B-1E8D-439B-936F-BB68D477B790}</ProjectGuid>
  <Keyword>Win32Proj</Keyword>
  <ProjectName>SetFastResources140</ProjectName>

  <!-- Disable Deployment configuration checks.  -->
  <DisableConfigurationRefresh>true</DisableConfigurationRefresh>

</PropertyGroup>  
```

<a id="ID4EVG" />

## Coletar logs do XTF para falhas de implantação e de inicialização de títulos

Veja algumas etapas para habilitar o registro em log detalhado do processo de implantação em um PC de desenvolvimento e em um Development Kit.

1. Abra um prompt de comando do GDK no PC de desenvolvimento.
2. Conecte-se ao console executando o comando a seguir.

```
      xbconnect.exe <console IP>  
```

1. Habilite o registro em log detalhado no console executando o comando a seguir.

```
      xbconfig.exe ToolsLogLevel=Verbose  
```

> \[!NOTE]
> Você pode ignorar o texto que diz que é preciso reinicializar o console para que a alteração entre em vigor.

1. Habilite o registro em log detalhado no PC de desenvolvimento definindo as variáveis de ambiente a seguir.

```
      set XTF_LOG_LEVEL=5  
```

```
      set XTF_LOG_FILE=<path on your development PC to create the log file>  
```

Você pode desabilitar o registro em log do XTF executando os comandos a seguir.

* `Xbconfig.exe ToolsLogLevel=Quiet`
* `set XTF_LOG_LEVEL=`
* `set XTF_LOG_FILE=`

Os caminhos a seguir podem conter informações úteis para a depuração.

* O caminho `\\<console IP>\SystemScratch\xtflogs` no console
* O `<caminho no seu PC de desenvolvimento para criar o arquivo de log>` que você usou para XTF\_LOG\_FILE

## Veja também

[Implantar seu título no seu dev kit XBOX](/pt-BR/home/setup-install/concepts/deployment)


## Related topics

- [Visual Studio](/pt-BR/tools/tools-console/visualstudio/index.md)
- [Propriedades do Visual Studio para desenvolvimento para XBOX](/pt-BR/tools/tools-console/visualstudio/durango-property-pages.md)
- [Depurar projetos de PC em dispositivos Windows remotos no Visual Studio](/pt-BR/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio-remote-windows.md)
- [Modelos de projeto no Visual Studio para desenvolvimento para XBOX](/pt-BR/tools/tools-console/visualstudio/durango-visual-studio-templates.md)
- [Depuração ao vivo no Visual Studio para investigação de travamentos](/pt-BR/tools/tools-console/hix/live-debugging-in-vs.md)
