C#WPFアプリケーションからのこのビルド出力はどうなっていますか?
------ Rebuild All started: Project: CACI.Common, Configuration: Debug Any CPU ------
CACI.Common -> D:\SvnSource\Main\InSite\trunk\insite\InsUi\Common\bin\Debug\CACI.Common.dll
------ Rebuild All started: Project: CACI.InSite, Configuration: Debug Any CPU ------
D:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\View\SingleSelectTreeVw.xaml.cs(9,10): warning CS0105: The using directive for 'System.Windows.Controls' appeared previously in this namespace
d:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\Infrastructure\CustomMessageBox\MessageBoxVw.xaml(32,48): warning CS0108: 'CACI.InSite.Infrastructure.CustomMessageBox.MessageBoxVw.Icon' hides inherited member 'System.Windows.Window.Icon'. Use the new keyword if hiding was intended.
D:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\Model\ManagedQuery\IOrderingQueryComponent.cs(78,33): warning CS0108: 'CACI.InSite.Model.ManagedQuery.IOrderingQueryComponent.ComponentType' hides inherited member 'CACI.InSite.Model.ManagedQuery.IQueryComponent.ComponentType'. Use the new keyword if hiding was intended.
D:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\Model\ManagedQuery\IQueryComponent.cs(26,33): (Related location)
D:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\Model\ManagedQuery\IOrderingQueryComponent.cs(83,12): warning CS0108: 'CACI.InSite.Model.ManagedQuery.IOrderingQueryComponent.HaveDefinition' hides inherited member 'CACI.InSite.Model.ManagedQuery.IQueryComponent.HaveDefinition'. Use the new keyword if hiding was intended.
D:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\Model\ManagedQuery\IQueryComponent.cs(30,12): (Related location)
... LOADS MORE ERRORS
Compile complete -- 0 errors, 51 warnings
Starting pre-build event
Stopping InsDB80 service.
The InSite80 DB Server service is not started.
More help is available by typing NET HELPMSG 3521.
PREBUILD EVENT INFO InsDB80 service already stopped.
Registering project COM dependencies.
COM Reference 'InsCtl8Lib' is the interop assembly for ActiveX control 'AxInsCtl8Lib' but was marked to be linked by the compiler with the /link flag. This COM reference will be treated as a reference and will not be linked.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1558,9): warning : At least one of the arguments for 'ISMKeyStoreKeys.GetKeyString2' cannot be marshaled by the runtime marshaler. Such arguments will therefore be passed as a pointer and may require unsafe code to manipulate.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1558,9): warning : At least one of the arguments for 'SMKeyStore.GetKeyString2' cannot be marshaled by the runtime marshaler. Such arguments will therefore be passed as a pointer and may require unsafe code to manipulate.
View\SingleSelectTreeVw.xaml.cs(9,10): warning CS0105: The using directive for 'System.Windows.Controls' appeared previously in this namespace
Model\ManagedQuery\IGroupingQueryComponent.cs(54,33): warning CS0108: 'CACI.InSite.Model.ManagedQuery.IGroupingQueryComponent.ComponentType' hides inherited member 'CACI.InSite.Model.ManagedQuery.IQueryComponent.ComponentType'. Use the new keyword if hiding was intended.
Model\ManagedQuery\IGroupingQueryComponent.cs(59,12): warning CS0108: 'CACI.InSite.Model.ManagedQuery.IGroupingQueryComponent.HaveDefinition' hides inherited member 'CACI.InSite.Model.ManagedQuery.IQueryComponent.HaveDefinition'. Use the new keyword if hiding was intended.
Model\ManagedQuery\IGroupingQueryComponent.cs(147,45): warning CS0108: 'CACI.InSite.Model.ManagedQuery.IGroupingQueryComponent.GetEnumerator()' hides inherited member 'System.Collections.Generic.IEnumerable<CACI.InSite.Model.ManagedQuery.IGroupingQueryExpression>.GetEnumerator()'. Use the new keyword if hiding was intended.
... LOADS MORE ERRORS
CACI.InSite -> D:\SvnSource\Main\InSite\trunk\insite\InsUi\InSite\bin\Debug\CACI.InSite.exe
========== Rebuild All: 2 succeeded, 0 failed, 0 skipped ==========
明らかに、コンパイルの警告がたくさんあるという事実は1つの問題ですが、それは私のコントロールの範囲外です。私が理解していないのは、出力自体の構造です。
.csファイルのコンパイルから生成される警告の負荷から始まります。これらの警告は、ファイルへの完全にルート化されたパスを使用し、警告の一部を拡張する「(関連する場所)」エントリを含みます。
次に、警告の数を示す「コンパイル完了」メッセージが表示され、続いてビルド前イベント(DBサービスを再起動します)が実行されます。今では昔ながらの私と呼んでいますが、私は自分のやり方にかなり慣れており、通常、ファイルがビルドされる前にビルド前のイベントが実行されることを期待しています。
最後に、警告スピューの2番目のブロックがあります。これは、ほとんどが最初のブロックの繰り返しですが、今回はリンク関連のエラーが含まれ、完全にルート化されたパスを使用せず、「(関連する場所)」の追加も含まれていません。
最初の質問:この出力は、私には不合理な混乱のように見えますが、実際には私が理解していない何らかの方法で論理的であるというのは事実ですか?
2番目の質問:とにかく、VSに次のような従来の何かを出力するように強制することができますか?
1. Pre-build event.
2. Compiler warnings with inserted "(Related location)" markers.
3. Link errors.
4. Build summary.
編集:実際に2つのプロジェクトが構築されているという事実を反映するように出力を更新しましたが、最初のプロジェクトはエラーや警告なしで完了します。