7

最近、Azure プロジェクトを Azure SDK 1.6 (Visual Studio 2010) から Azure SDK 2.0 (Visual Studio 2012) にアップグレードしました。プロジェクトは、ローカル マシンでエラーや警告なしでビルドされます。ローカル コンピューターでデバッグできますが、ビルド サーバーでビルドをパッケージ化または取得できません。私が得るエラーは次のとおりです。

エラー MSB4057: ターゲット "PipelineTransformPhase" がプロジェクトに存在しません。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplications.targets ファイルがローカルおよびビルド サーバーに存在することを確認しました。

元のプロジェクトは \v10.0\ パスを指していましたが、手動でそれを \v11.0\ パスに変更して、エラーを解決しようとしましたが、うまくいきませんでした。

4

1 に答える 1

11

プロジェクトが Microsoft.WebApplications.targets ファイルにアクセスできない場合、通常は「ターゲット "PipelineTransformPhase" がプロジェクトに存在しません」と表示されることに気付きました。

Microsoft.WebApplications.targets ファイルをプロジェクトにインポートする必要があります。プロジェクトに次の行を追加することでそれを行うことができます。

<Import Project="C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" />

Microsoft.WebApplication.targets をプロジェクト ファイルにインポートするときは、明示的に Condition="false" を設定しないようにしてください。Microsoft.WebApplication.targets が Condition="false" と共にプロジェクトにインポートされたときに、同様のエラーが発生しました。

Microsoft.WebApplication.targets をプロジェクト ファイルにインポートするときに考慮すべきもう 1 つのことは、既定の変数 $(MSBuildExtensionsPath32) が "C:\Program Files (x86)\MSBuild\" に設定されていることを常に確認することです。

于 2013-08-01T22:43:54.317 に答える