Eu tenho uma solução de vários projetos no Visual Studio 2008. Acabei de adicionar uma nova configuração chamada Release-VersionIncrement à solução, especificando a configuração "use release" como linha de base. Todos os arquivos do projeto foram atualizados com essa configuração. No entanto, quando tento compilar um projeto específico usando essa configuração, recebo o seguinte erro:
Erro 5 A propriedade OutputPath não está definida para este projeto. Verifique se você especificou uma combinação válida de configuração / plataforma. Configuração = 'Release-VersionIncrement' Platform = 'AnyCPU' C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion
O que está acontecendo aqui? O projeto compila bem na configuração de liberação ou depuração.
fonte
Respostas:
Normalmente, isso acontece quando a propriedade OutputPath do arquivo de projeto está em branco. Os arquivos de projeto são apenas arquivos MSBuild . Para editar no Visual Studio: Clique com o botão direito do mouse no projeto, selecione "Descarregar projeto" e clique com o botão direito no projeto descarregado e selecione "Editar ...".
Procure o grupo de propriedades Release-Versionincrement. Deve ser parecido com
O importante aí é o OutputPath, existe para o seu arquivo de projeto? Se não, adicione-o e tente novamente.
fonte
Também vi esse erro quando nosso agente de compilação foi configurado para executar a plataforma " Any CPU " (com espaços conforme exibido no Visual Studio) em vez de " AnyCPU " (uma palavra conforme especificado no arquivo de projeto).
fonte
msbuild myproj.sln /p:Configuration=Debug /p:Platform="Any CPU"
bem, porém, ao construir o projeto, tive que omitir o espaço em Any CPU:msbuild myproj.proj1.csproj /p:Configuration=Debug /p:Platform=AnyCPU
para suprimir o erro da propriedade Outputpath.Tive o mesmo problema quando usei o MSBuild pela primeira vez. Minha solução é: use a propriedade OutputPath definitivamente. Como isso:
fonte
Em nosso caso, estávamos executando um script de compilação em nossas caixas de desenvolvedor HP. A HP tem algumas variáveis de ambiente que eles configuraram para seus próprios fins e uma delas é PLATFORM (usado, aparentemente, para "HP Easy Setup").
A exclusão da variável de ambiente PLATFORM funcionou.
Você poderia também à prova de futuro o seu script de construção, especificando a plataforma, ou seja
msbuild /p:Platform=AnyCPU
.fonte
Se o Visual Studio reclamar especificamente de "Platform = 'BPC'", você poderá corrigir isso facilmente removendo a variável de ambiente "Platform".
Agora reinicie o Visual Studio e você está pronto para ir.
fonte
Como " Richard Dingwall " sugeriu, o problema está relacionado ao VS usando a versão de exibição de " Any CPU " em vez da versão do MSBuild que realmente lê " AnyCPU "
Vá para Build / New Build Definition ou Edit Build Definition -> Process -> Configurations to build, abra a caixa de diálogo de seleção de configuração e em " Platform " em vez de selecionar " Any CPU ", adicione manualmente " AnyCPU "
fonte
Como foi dito, OutputPath deve ser definido E deve ser colocado antes
<Import Project="$(WixTargetsPath)" />
no arquivo .wixprojfonte
Eu removi
Platform
a variável de ambiente (era BNB ou smth assim). O problema desapareceu.fonte
Eu estava adicionando a plataforma x64 à minha solução hoje, quando me deparei com esse problema.
No meu caso, o erro foi:
Eu sabia que
OutputPath
deveria funcionar, já que essa era uma solução VS existente e funcional. Então, passei para a próxima dica - "uma combinação válida de configuração e plataforma".Aha! O Visual Studio está tentando construir
Configuration='Debug', Platform='x64'
. Olhando para o meu arquivo de projeto, percebi que x64 não estava listado como uma das plataformas possíveis. Em outras palavras, eu tinha as entradas abaixo (abreviadas):Solução fácil então: basta adicionar entradas x64!
Copiei / colei as entradas x86 e as alterei para usar x64. Observe que também modifiquei os caminhos para que eles não substituam as compilações x86:
fonte
Lutei com isso por um tempo e depois também descarreguei, criei e recarreguei o projeto ofensivo na solução, e então o MSBuild funcionou corretamente.
fonte
Como Scott S, tive que excluir a variável de ambiente "Plataforma" .
Em seguida, reinicie o VS e está tudo bem: nenhuma mensagem de erro mais ...
fonte
O problema tinha a ver com a configuração do meu projeto. Aqui está o cenário:
Referências da solução A:
Referências da solução B (aquela que estou tentando construir):
Minha solução foi criar uma configuração com o mesmo nome para a Solução A, reconstruí-la e, em seguida, reconstruir a Solução B. Isso resolveu o problema.
fonte
Eu tive essa mesma mensagem de erro. Foi causado por ter uma referência a um projeto que foi descarregado e não exigido pelo vinculador (caso contrário, ele teria falhado no tempo de compilação). Remover a referência ofensiva resolveu o problema.
fonte
No meu caso (VS2010), removi a string na caixa "OutputPath" que está na guia "Build" e a deixei em branco. Então eu reconstruí a solução. A compilação foi bem-sucedida e o VS inseriu o diretório atual "./" no "OutputPath". Substituí o diretório atual "./" pelo meu caminho ("bin \ x64 \ Release \" - basta dizer que este é o caminho exato da pasta que o VS estava reclamando em primeiro lugar) e a reconstrução foi bem-sucedida novamente.
fonte
No meu caso, o OutputPath foi definido como propriedade nos arquivos do projeto. Mas descarregar, recarregar e então reconstruir consertou.
fonte
Quando adicionei uma nova configuração de solução em minha solução, recebi um erro, "A propriedade OutputPath não está definida para o projeto X. Verifique se você especificou uma combinação válida de Configuração e Plataforma para este projeto. Configuração = 'QA 'Platform =' AnyCPU '. Este erro também pode aparecer se algum outro projeto está tentando seguir uma referência projeto a projeto para este projeto, este projeto foi descarregado ou não está incluído na solução, e o projeto de referência não construir usando a mesma configuração ou plataforma equivalente. ProjetoY ".
No meu caso, o problema foi devido à parte destacada da descrição do erro. Projeto X parte da minha solução era ter uma referência de projeto para ProjetoY de outra solução (ramo diferente).
Resolvi esse problema modificando o projeto X para usar a referência do projeto para o ProjectY na solução atual. Espero que isso ajude alguém com problema semelhante.
fonte
No meu caso, o novo bloco XML "PropertyGroup" foi gerado na parte inferior do documento. Acabei de substituí-lo após outras tags "PropertyGroup" e isso resolveu o problema.
fonte
Criei um novo projeto em uma nova solução que faz referência a projetos existentes. Este erro ocorre quando adiciono um projeto existente (digamos, projeto 1) e tento construir sem adicionar outros projetos aos quais o projeto 1 faz referência.
Apenas certifique-se de que todos os projetos relacionados sejam adicionados à nova solução e o erro desapareça.
fonte
Eu tive o mesmo erro, então olhei nas configurações do projeto e lá na seção "Build" está a opção "Build output path". E o valor estava vazio. Então, eu preenchi o valor "bin \" e um erro desapareceu. Isso resolveu meu problema.
fonte
Se você decidir definir OutputPath como um parâmetro e seu caminho for assim:
bin\Release\\
lembre-se de adicionar\
no final assim:/p:OutputPath=bin\Release\\\\
demorei um pouco para perceber que era o casofonte
Eu tive o mesmo problema. Consertei limpando e reconstruindo os projetos.
fonte
Eu tive o mesmo problema, e a única solução que ajudou foi definir a configuração de compilação manualmente em cada projeto NCrunch.
Abra a janela NCrunch, onde você pode ver o status de cada compilação e onde você pode ver que a compilação falhou. Clique com o botão direito do mouse no projeto que não consegue construir e clique em "configurar o componente selecionado" lá você vê em "Configurações de construção" a propriedade "Usar configuração de construção" configurada como, por exemplo, "Depurar" e a propriedade "Usar plataforma de construção" configurada como por exemplo, "AnyCPU". (Por favor, note que as opções de construção e configuração que você definiu devem existir em suas configurações do konfigration)
Faça isso para todos os seus projetos, mas não para o projeto de teste. Depois disso, tudo funciona bem para mim.
fonte
Eu tive o mesmo problema, resolvi adicionando configurações ausentes ao projeto que estava falhando.
Na Coluna de Configuração, Adicionar
Observação: isso só aconteceu porque eu tenho uma configuração personalizada e os projetos recém-criados não têm essa configuração.
fonte
Se alguém está obtendo este em seus logs do NCrunch, verifique se a
PropertyGroup
definição dos valores 'Debug' / 'Release' e 'AnyCPU' / 'x86' localizados antes dos grupos de propriedade usam esses valores em sua condição.Funcionou para mim.
fonte
No meu caso, tentei mover o grupo de propriedades que continha minha configuração personalizada para baixo dos padrões. Isso resolveu para mim.
fonte
Acabei de fazer isso com o VS2015 Professional:
Isso também é um malabarismo multiprojeto entre depurar / liberar e diferentes alvos. Eu estava mexendo nas configurações de compilação em algum momento e sei que isso pode atrapalhar o VS, então retirei-as do repo. Ainda não é bom. OutputPath foi definido, não havia mais diffs com um estado bom conhecido, então definitivamente havia algo errado com minha instalação local.
Abriu o instalador do VS2015 e clicou em "Reparar" e pronto ... de volta ao normal (pelo menos até agora!)
fonte