1

msbuild コマンド ライン オプションを使用してプロジェクトを再リンクしたいだけです。デフォルトのオプションは /t:build です。/t:link に変更すると、エラーは MSB4057: The target "link" does not exist in the project です このソリューションのリンクを有効にするにはどうすればよいですか? [エコー] msbuild /nologo /m /p:Configuration="リリース" /p:Platform="W in32" /p:VisualStudioVersion="11.0" /t:link "../../XYZ.sln "

4

2 に答える 2

0

BuildLinkターゲットを使用できます。

于 2013-11-13T14:05:11.837 に答える
0

/t パラメータの目的を見逃していると思います。

以下の msbuild 定義。

これらのいずれかを呼び出すことができます:

/t:AllTargetsWrapped
/t:CleanArtifactFolder
/t:BuildItUp
/t:CopyFilesToArtifactFolder
/t:RenameConfigurationFiles

または、デフォルトのターゲットであるため、「AllTargetsWrapped」を実行するターゲットを呼び出さないこともできます。

ありますか

    <Target Name="link">

あなたのコードで?

以下は、上記の例で参照した .proj 定義のサンプルです。

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="AllTargetsWrapped">

    <PropertyGroup>
        <!-- Always declare some kind of "base directory" and then work off of that in the majority of cases  -->
        <WorkingCheckout>.</WorkingCheckout>
    </PropertyGroup>

    <Target Name="AllTargetsWrapped">

        <CallTarget Targets="CleanArtifactFolder" />
        <CallTarget Targets="BuildItUp" />
        <CallTarget Targets="CopyFilesToArtifactFolder" />
        <CallTarget Targets="RenameConfigurationFiles" />
    </Target>

    <Target Name="CleanArtifactFolder"> 
        <Message Text="CleanArtifactFolder was called" />
    </Target>

    <Target Name="BuildItUp">   
        <Message Text="BuildItUp was called" />
    </Target>

    <Target Name="CopyFilesToArtifactFolder">   
        <Message Text="CopyFilesToArtifactFolder was called" />
    </Target>

    <Target Name="RenameConfigurationFiles">    
        <Message Text="RenameConfigurationFiles was called" />
    </Target>

</Project>
于 2013-11-13T13:29:28.993 に答える