9

TFS作業項目システムにいくつかのフックがあるWebシステムがあります。私がやろうとしていることの1つは、特定のアクションが実行されると、1つのフィールドの現在のテキストを取得し、[一般的なコメント]フィールドにコメントを作成して、そのフィールドが以前に何であったかを通知することです(はい、履歴にはこれですが、上位のアップは、genコメントでこれを望んでいます)。

私が抱えている問題は、TFSが文字列にあるEnvironment.NewLinesを無視しているように見えることです。したがって、このコードでは:

                    item.Fields[GENCOMMENTS].Value = string.Concat(DateTime.Now.ToShortDateString()
                                , " - QA Dashboard - Required By Date Reason set to \"Hotfix\", but previously contained \""
                                , item.Fields[REQBYDTREASON].Value.ToString()
                                , "\"."
                                , Environment.NewLine
                                , Environment.NewLine
                                , Environment.NewLine
                                , item.Fields[GENCOMMENTS].Value.ToString());

したがって、私の一般的なコメントセクションに次のものが含まれていると仮定します。

THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS

作業項目を保存すると、一般的なコメントセクションに次の出力が表示されます

9/29/2010 - QA Dashboard - Required By Date Reason set to "Hotfix", but previously contained "hotfixtest".THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS

なぜそれは新しい行を無視するのですか、そしてどうすれば新しい行を作業項目に入れることができますか?

ありがとう、

4

2 に答える 2

13

TFS作業項目のコンテンツは、多くの場合HTMLとして処理されます。これはおそらくここで発生しているため、テキスト内の無関係な改行を無視しています。コンテンツを<pre>ブロックでラップするか、を使用<p>して、問題が解決するかどうかを確認してください。

于 2010-09-29T20:45:29.377 に答える
1

RTFまたはHTMlコントロールは、htmlマークアップを使用およびレンダリングするため、コントロールによって異なります。リッチテキストを複数行のコントロールに追加してフォーマットし、コンソールアプリでデバッグしてみてください-フィールド値を参照してください-htmlタグが表示されます。

于 2011-09-29T00:11:56.270 に答える