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に渡します。