7

TFS ビルド プロジェクトで問題が発生しています。VSでプロジェクトをセットアップする限り、ここからの例に従っています。

カスタム アクティビティ専用のプロジェクトと、テンプレート専用の別のプロジェクトがあります。私が抱えている問題は、Templates プロジェクトに xaml ファイルを 1 つしか含めることができないことです。それをコピーして同じプロジェクトに貼り付けると、ビルドされません。次のエラーが表示されます。

エラー 102 「Resources」パラメータでアイテム「obj\Debug\TfsBuild_Process_BeforeInitializeComponentHelper.txt」が複数回指定されました。"Resources" パラメーターでは、アイテムの重複はサポートされていません。

しかし、それを削除すると、問題なくビルドされます。すべてが機能します。つまり、ビルドをキューに入れるとビルドされます。

こちらで提案されている解決策も試しましたが、問題が解決しないようです。

解決:

ソリューション エクスプローラーでフォーム名を変更します。

.cs および Designer.cs ファイルのクラス名を変更します。

コンストラクタとデストラクタの名前を変更します (クラス名と同じです)

名前空間名を変更します (必要な場合)。

プロジェクトをダウンロードするためのリンクは次のとおりです

理由が分からないようです。どんな助けでも大歓迎です!

4

3 に答える 3

8

まだこの問題があるかどうかはわかりませんが、今日も問題がありました。(まだ問題に直面している場合)あなたや他の人に役立つ解決策を見つけました。

Build Process テンプレートをコピーすると、自動的に x:Class プロパティがTfsBuild.Processに設定されます。同じ値を持つプロセス テンプレートが複数ある場合、プロジェクトのビルド時にこのエラーが発生します。

<Activity mc:Ignorable="sads sap sap2010" x:Class="TfsBuild.Process" this:Process.BuildNumberFormat="$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)" this:Process.AgentSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly}]" this:Process.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]" this:Process.OutputFullHistory="True" this:Process.OutputBranchOrigin="True" this:Process.OnlyOutputChangedFiles="True" this:Process.StartChangeset="0"...... 

TfsBuild.Processをすべてのテンプレートの別の名前 (例: TfsBuild.ProcessLabDefault )に置き換えることで問題を解決しました。this:Processのすべてのインスタンスも変更する必要があることに注意してください。これは、2 つがリンクされているためです (例: this:ProcessLabDefault )。

<Activity mc:Ignorable="sads sap sap2010" x:Class="TfsBuild.MyProcess" this:MyProcess.BuildNumberFormat="$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)" this:MyProcess.AgentSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly}]" this:MyProcess.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]" this:MyProcess.OutputFullHistory="True" this:MyProcess.OutputBranchOrigin="True" this:MyProcess.OnlyOutputChangedFiles="True" this:MyProcess.StartChangeset="0"...... 

インターフェイスを使用してこれを変更する方法が見つかりませんでした.コードの表示と検索と置換が機能します。それが役に立てば幸い。

于 2013-07-08T10:10:11.730 に答える
0

私はこの問題に遭遇し、見つけた解決策を追加したいと考えました。XAML ファイルのプロパティを確認すると、それらをプロジェクトにリンクすると、XamlAppDef の BuildAction が割り当てられます。これを「コンテンツ」に変更すると、エラーが解決されます。

編集する必要があるプロパティ画面を見つけるには、ソリューション エクスプローラーで XAML ファイルを強調表示し、F4 キーを押すか、ファイルを右クリックして、コンテキスト メニューから [プロパティ] を選択します。

お役に立てれば。

于 2013-08-19T15:31:35.143 に答える