简体   繁体   中英

What is this VS2010 build output all about?

What's going on with this build output from a C# WPF application?

------ 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 ==========

Obviously the fact that there are a lot of compilation warnings is one problem, but that's out of my control. What I don't understand though is the structure of the output itself.

It starts off with a load of warnings generated from compiling the .cs files, these warnings use fully rooted paths to the files and contain "(related location)" entries expanding on some of the warnings.

Then there is a "Compile complete" message indicating how many warnings there were, followed by the running of the pre-build event (which restarts a DB service). Now call me old fashioned, but I'm fairly set in my ways and I normally expect my pre-build event to run before my files are built.

Finally there is a second block of warning spew which is mostly just a repeat of the first block, but this time it includes link related errors, does not use fully rooted paths, nor does it contain the "(Related location)" additions.

First question: Is it the case that this output, that to me looks like an irrational mess, is actually logical in some way that I don't understand?

Second question: Is there anyway I can coerce VS to output something more conventional along the lines of

1. Pre-build event.
2. Compiler warnings with inserted "(Related location)" markers.
3. Link errors.
4. Build summary.

EDIT: I updated the output to reflect the fact that there are actually 2 projects building, but the first completes without error or warning.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM