3

asp.net C#プロジェクト、4.0フレームワークを含むVS2010ソリューションがあります。CIおよびデプロイメントサーバーとしてTeamcity7.1.1(ビルド24074)を使用します。

Visual Studio 2012にアップグレードし、このソリューションを変換しました。また、[..] \ MSBuild \ Microsoft \VisualStudioを含むVisualStudioアプリケーションのビルドに必要なすべてのファイルを用意するために、ビルドサーバーにMicrosoft Visual Studio 2012シェル(統合)再配布可能パッケージをインストールしました。 \ v11.0 \ WebApplications\Microsoft.WebApplication.targets。

2012に変換した後、デプロイメントが機能しなくなり、アーティファクトが作成されないことに気付きました(ただし、Teamcityも文句を言いません!)。私はこれをビルドログでのみ取得します:

[...]
[17:11:58][Providers\Providers.csproj.teamcity] GetCopyToOutputDirectoryItems
[17:11:58][Providers\Providers.csproj.teamcity] _CopyOutOfDateSourceItemsToOutputDirectoryAlways
[17:11:58][_CopyOutOfDateSourceItemsToOutputDirectoryAlways] Copy
[17:11:58][Copy] Copying file from "C:\TeamCity\buildAgent\work\c52628138e1ee4d4\Providers\NLog.config" to "bin\NLog.config".
[17:11:58][Providers\Providers.csproj.teamcity] CopyFilesToOutputDirectory
[17:11:58][CopyFilesToOutputDirectory] Copy
[17:11:58][Copy] Copying file from "obj\Release\Providers.dll" to "bin\Providers.dll".
[17:11:58][CopyFilesToOutputDirectory] Providers.csproj -> C:\TeamCity\buildAgent\work\c52628138e1ee4d4\Providers\bin\Providers.dll
[17:11:58][CopyFilesToOutputDirectory] Copy
[17:11:58][Copy] Copying file from "obj\Release\Providers.pdb" to "bin\Providers.pdb".

==> [17:11:58]Process exited with code 0

[17:11:58]Publishing internal artifacts
[17:11:58][Publishing internal artifacts] Sending build.finish.properties.gz file
[17:11:58]Publishing artifacts
[17:11:58][Publishing artifacts] Collecting files to publish: [Providers\obj\Release\Package]

==> [17:11:58][Publishing artifacts] Artifacts path Providers/obj/Release/Package not found

[17:11:58]Build finished

ソリューションに加えられた唯一の変更は、.slnファイルと.csprojファイル(Visual Studioによる)でした。以前のバージョンに戻すと、teamcityは問題なくビルドおよびデプロイされます。プロジェクトファイルへの変更は、この投稿で説明したものと同じでした。提案されたソリューション(VisualStudioVersion = 11.0をMSBuildに渡す)を試しましたが、機能しませんでした。

ソリューションエクスプローラーの[公開]リンクを使用してVisualStudioから展開すると、期待どおりに機能します。VS 2012のベースプロジェクトで新しいソリューションを作成し、それがTeamcityから展開されるかどうかをテストします。

他のアイデアはありますか?

- - アップデート - -

うまくいけば、これは解決策ではありません。上記の投稿でアドバイスされているように反対のことをしました。MSBuildパラメーターVisualStudioVersion = 10.0を設定すると、機能します。それで、VS 2012プロジェクトを展開するために、私はそれをVS 2010プロジェクトとして扱わなければなりませんでした...あなたは何を変えていますか?チームシティをだまさずに展開できるようにするために、私は何をすべきですか?

- - アップデート - -

TeamCity構成のスナップショットをいくつか追加しています。Teamcityは、システム変数と環境変数をビルドパラメーターとしてMSBuildに渡します

一般設定

ビルド手順

MSBuild

構成パラメーター

4

1 に答える 1

3

更新しました

明確にするために、問題は、Web Publishing Pipelineターゲット($(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets)がVS2012のIntegratedShellエディションの一部としてインストールされていないことです。

この問題は、VS 2012のフルバージョンをインストールするか、場合によっては、VSシェルの上にAzureSDKをインストールすることで解決できます。

于 2012-11-02T02:37:47.683 に答える