1

少し前に、サードパーティ ライブラリの管理に Nuget の使用を開始することにしました。しかし、Nuget を使い始めてから、Teamcity はソリューションをビルドできなくなりました。

そのため、構成ファイルに t4 テンプレートを使用する WindowsPhone プロジェクトがあります。MSBuild と T4 を統合するための Oleg Sych の指示に従いました。このプロジェクトは、私の TeamCity ビルド サーバーで問題なくビルドされていました。Nuget を使い始めるまでは問題ありませんでした。いくつかのパッケージを追加し、RestorePackaged を true に設定した後、TeamCity でソリューションをビルドできなくなりました。

TeamCity で発生するエラーは次のとおりです。

C:\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets(396, 5):
Compiling transformation: Invalid token 'this' in class, struct, or interface member declaration. Line=1, Column=1 
C:\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets(396, 5): 
Compiling transformation: Method must have a return type. Line=1, Column=6 
C:\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets(396, 5): 
Compiling transformation: Type expected. Line=1, Column=12

T4 テンプレートの出力ファイルには、次のメッセージが含まれています

VS2010 を使用しているローカル マシンでも、ソリューションのビルドに失敗します。ただし、問題は、MSBuild が T4 テンプレートを処理して出力ファイルを生成するが、それをプロジェクト ファイルに追加しないことです。したがって、特定のクラスが見つからないため、ビルドは失敗します。

誰かが同様の問題を経験しましたか? 修正はありますか?または、誰かがどこで修正を探すべきか教えてもらえますか?

この問題を解決するための助けをいただければ幸いです。

ありがとうございました!

4

1 に答える 1

2

わかりました、解決策を見つけました!

私の間違いは、ビルド サーバーに Nuget をインストールすることでした。nuget vsix 拡張機能を削除すると、すべてが機能し始めました。

また、デフォルトでNugetは「%APPDATA%/NuGet/NuGet.Config」で構成ファイルを探し、それを上書きする方法がないことに気付きました.少なくとも私は見つけていません. このリンクhttp://nuget.codeplex.com/workitem/1358は、Nuget が .nuget フォルダーのローカル ファイルを使用することを示しています (存在する場合)。

于 2012-09-18T10:44:43.593 に答える