7

私は元の質問をしますが、解決策を見つけたので答えます。Visual Studio 2015 Update 1とXAMLビルドテンプレート

私は最近、VS 2015からVS 2015 Update 1に私のdevボックスをアップグレードして以来、私のカスタムXAMLテンプレートは、私が原因と思われないエラーを検出しました。なぜだろう?

ビルド例外はほとんど見することができると私は見た: は

+1

コミュニティに問題+解決策を共有してもらえますか、+1人、SOにようこそ。 –

+0

ありがとう!私はマイクロソフトがこれをこっそりと盗み、私たちが最も便利な時(アプリ配信の週)に見つけたときに嫌いです。 – adboll

答えて

18

は、Microsoftは、スキーマの変更のいくつかの並べ替えを行わ判明不明なメンバー「Microsoft.TeamFoundation.Build.Activities.RunScript.FailOnNonZeroExitCode」(タイプXamlObjectWriterException)を設定することはできませんVS 2015アップデート1では、VS 2015ビルドコントローラとエージェントを実行している場合、自動ビルドテンプレートを破るXAMLの4行として経験したプロパティを追加します。余分な性質を持つ

グッド:アップデート1(同4行を使用して

<mtba:RunScript Arguments="[AdvancedBuildSettings.GetValue(Of String)(&quot;PreActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script before MSBuild" Enabled="True" FilePath="[AdvancedBuildSettings.GetValue(Of String)(&quot;PreActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_1" /> 
<mtba:RunScript Arguments="[AdvancedBuildSettings.GetValue(Of String)(&quot;PostActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script after MSBuild" Enabled="True" FilePath="[AdvancedBuildSettings.GetValue(Of String)(&quot;PostActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_2" /> 
<mtba:RunScript Arguments="[AdvancedTestSettings.GetValue(Of String)(&quot;PreActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script before Test Runner" Enabled="True" FilePath="[AdvancedTestSettings.GetValue(Of String)(&quot;PreActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_3" /> 
<mtba:RunScript Arguments="[AdvancedTestSettings.GetValue(Of String)(&quot;PostActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script after Test Runner" Enabled="True" FilePath="[AdvancedTestSettings.GetValue(Of String)(&quot;PostActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_4" /> 

変更スキーマビルドコントローラが一致するようにまだ更新することが可能かどうかわからしかし、ここではない、私は2 XAMLsで見つけたものですコードの):あなたは/ビルドコントローラーを更新することはできませんしていない場合は/ハック

<mtba:RunScript Arguments="[AdvancedBuildSettings.GetValue(Of String)(&quot;PreActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script before MSBuild" Enabled="True" FailOnNonZeroExitCode="True" FilePath="[AdvancedBuildSettings.GetValue(Of String)(&quot;PreActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_1" /> 
<mtba:RunScript Arguments="[AdvancedBuildSettings.GetValue(Of String)(&quot;PostActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script after MSBuild" Enabled="True" FailOnNonZeroExitCode="True" FilePath="[AdvancedBuildSettings.GetValue(Of String)(&quot;PostActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_2" /> 
<mtba:RunScript Arguments="[AdvancedTestSettings.GetValue(Of String)(&quot;PreActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script before Test Runner" Enabled="True" FailOnNonZeroExitCode="True" FilePath="[AdvancedTestSettings.GetValue(Of String)(&quot;PreActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_3" /> 
<mtba:RunScript Arguments="[AdvancedTestSettings.GetValue(Of String)(&quot;PostActionScriptArguments&quot;, String.Empty)]" DisplayName="Run optional script after Test Runner" Enabled="True" FailOnNonZeroExitCode="True" FilePath="[AdvancedTestSettings.GetValue(Of String)(&quot;PostActionScriptPath&quot;, String.Empty)]" sap2010:WorkflowViewState.IdRef="RunScript_4" /> 

回避策:

  1. あなたの茶を作りますテンプレートに保存して保存します。
  2. 上記の4つのプロパティを削除します。FailOnNonZeroExitCode = "True"
  3. XAMLをさらに変更せずに保存します。
  4. 別の変更が必要な場合は、プロセスを繰り返します。

ビルドコントローラを更新して1に更新し、この問題を永続的に修正してポストバックできるかどうかを確認します。

+1

あなたは私に多くの時間を節約しました... – Nick

+0

私はあなたにビールを借りています! ;) –

+1

+1これは私の問題を解決することはできませんでしたが、私を解決に導いてくれました。 VS 2015は私のTFS 2013 XAMLビルドテンプレートにいくつかの欠点を追加しました(恐らくそれをやってはいけないはずです)。 –

関連する問題