Pergunta

Resumo: Eu sou capaz de compilar a 2009 Projeto RAD Studio usando MSBuild em um servidor de compilação usando o RAD Studio Command Prompt, mas não com um arquivo de lote. Este mesmo arquivo de lote, no entanto, funciona com êxito no meu trabalho. No servidor o erro retornado é:. MSB4057

Eu estou apenas aprendendo a usar MSBuild com RAD Studio e estou tentando obter o material MSBuild para trabalhar com ele. Eu gerado um programa em lotes que irá definir as variáveis ??de ambiente de forma adequada e, em seguida, compila o projeto para mim. Isso é bom trabalhar na minha estação de trabalho.

No entanto, quando eu passar tudo para um servidor de compilação que não funciona.

Eu acho que estou perto da resposta de por que isso está acontecendo. Posso obter meu projeto para compilar a partir do RAD Studio Command Prompt, digitando isso no servidor:

msbuild C:\MyProject\Group\Project.groupproj

Este é o meu arquivo de comando que eu estou tentando executar:

@SET BDS=C:\RS\
@SET BDSCOMMONDIR=C:\Users\Public\Documents\RAD Studio\6.0
@SET FrameworkDir=C:\Windows\Microsoft.NET\Framework\
@SET FrameworkVersion=v2.0.50727
@SET FrameworkSDKDir=
@SET PATH=%FrameworkDir%%FrameworkVersion%;%FrameworkSDKDir%;%PATH%

msbuild C:\MyProject\Group\Project.groupproj /t:Clean;Build /p:"Config=Release" 

Esta é a saída do comando prompt:

C:\>msbuild C:\MyProject\Group\Project.groupproj /t:Clean;Build /p:"Config
=Release"
Microsoft (R) Build Engine Version 2.0.50727.1434
[Microsoft .NET Framework, Version 2.0.50727.1434]
Copyright (C) Microsoft Corporation 2005. All rights reserved.

Build started 12/2/2008 12:24:26 PM.
__________________________________________________
Project "C:\MyProject\Group\Project.groupproj" (Clean;Build target(s)):

Target Clean:
    Target Project1:Clean:
        __________________________________________________
        Project "C:\MyProject\Group\Project.groupproj" is building "C:\MyProject\Project1\Project1.cbproj" (Clean target(s)):

        C:\MyProject\Project1\Project1.cbproj : error MSB4057: The target "Clean" does not exist in the project.

        Done building project "Project1.cbproj" -- FAILED.

Build FAILED.
C:\MyProject\Project1\Project1.cbproj : error MSB4057: The target "Clean" does not
 exist in the project.
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.01
Foi útil?

Solução

Eu percebi isso. Após rastrear através das páginas de resultados de pesquisa do Google tentando descobrir uma maneira de fazer o meu processo de servidor auto construir isso, eu olhei para os caminhos no programa de lote e percebeu que era diferente do que o caminho de instalação.

@SET BDS=C:\RS\

deveria ter sido

@SET BDS=C:\RS\6.0\

Lição a aprender:. MSBUILD pode retornar o erro MSB4057 quando ele não pode resolver o caminho BDS

Nota lateral: Se essa correção simples não funciona para você, verifique se você tem instruções de rastreamento adequados em seus arquivos de projeto. consulte este artigo no MSDN

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