Code Monkey home page Code Monkey logo

vssolutionbuildevent's Introduction

vsSolutionBuildEvent

Control everything: Visual Studio, MSBuild Tools, CI, and more …

🎛 Event-Catcher with variety of advanced Actions

Event model

to service projects, libraries, build processes, runtime environment of the Visual Studio, MSBuild Tools, and …

Copyright (c) 2013-2023  Denis Kuzmin <x-3F@outlook.com> github/3F

@ ☕ 」 LGPLv3

Download latest

Build status - master vsix nuget API

Build history

MvsSln GetNuTool SobaScript E-MSBuild

Why vsSolutionBuildEvent ?

Advanced handler of the most events from MS Visual Studio & MSBuild tools. Full control and flexible multi-actions for basic pre/post events and other additional such as:

  • CommandEvent, Errors, Warnings, Cancel-Build, Output-Build, Transmitter, Logging

Ability to handle events for all subprojects at once from the whole solution as an Solution-Events or individually for each separately.

Various modes for everything:

Supports Advanced MSBuild & SBE-Scripts engine for your awesome ideas.

Provides CI support (TeamCity, AppVeyor, Azure DevOps, ...), Command-Line mode and lot of other features for convenient work with the builds, tests, versioning, IO operations, and so on. See the documentation.

Scheme of vsSolutionBuildEvent projects

Advanced MSBuild

Through E-MSBuild engine.

#[$(
    [System.Math]::Exp('$(
        [MSBuild]::Multiply(
            $([System.Math]::Log(10)), 
            4
        ))'
    )
)]
$(n = 0)       $(desc = "Hello ")
$(n += 3.14)   $(desc += "from vsSBE !")
$(n += $(n))   $(p1 = " Platform is $(Platform)")
$(...)
$(...:project) - from selected project in your solution
$$(...) ... $$(...:project)
$(tStart = $([System.DateTime]::Parse("2014/01/01").ToBinary()))
$([System.Guid]::NewGuid())

$([System.TimeSpan]::FromTicks($([MSBuild]::Subtract($(tNow), $(tStart))))
                        .TotalHours.ToString("0"))

$(pdir = $(ProjectDir:project))
$(pdir = $(ProjectDir.Replace('\', '/'):project))

#SobaScript

https://github.com/3F/SobaScript -- Extensible Modular Scripting Programming Language.

#["
    #SobaScript in action
"]
#[var v = 1.2.3]
#[$(log = "$(TMP)/v.txt")]

#[($(Configuration) ~= Deb || true)
{
    #[var tBase     = $([System.DateTime]::Parse('2019/08/01').ToBinary())]
    #[var tNow      = $([System.DateTime]::UtcNow.Ticks)]
    #[var revBuild  = #[$(
        [System.TimeSpan]::FromTicks('$(
            [MSBuild]::Subtract(
            $(tNow), 
            $(tBase))
        )')
        .TotalMinutes
        .ToString('0')
    )]]
    
    #[var v = $(v).$([MSBuild]::Modulo($(revBuild), $([System.Math]::Pow(2, 14))))]
}]

#[var v = $([System.String]::Format("v{0}\r\n\t", $(v)))]

#[try
{ 
    #[File write("#[var log]"):> Example #[var v] Generated by a vsSolutionBuildEvent]
    #[IO scall("notepad", "#[var log]")]
}
catch(err, msg)
{
    $(err) - Type of Exception
    $(msg) - Error Message
}]

For example, you can even exclude projects from build at runtime:

#[Build projects.find("name").IsBuildable = false]

Capture data from external utilities:

#[var bSha1 = #[IO sout("git", "rev-parse --short HEAD")]]

Work with files and archives:

#[IO copy.file("$(odir)/notes.txt", "$(pDirCIM)bin\\$(cfg)\\", true)]
#[7z pack.files({
            "$(pDirBridge)bin\$(cfg)\Bridge.*.*",
            "CI.MSBuild.dll",
            "CI.MSBuild.pdb",
            "$(pDirCIM)bin\$(cfg)\*.txt"}, "$(odir)CI.MSBuild_v$(numCIM)_[$(branchSha1)][$(netStamp)].zip")]

+DTE-commands, +Access to all MSBuild properties on the fly, +Conditional statements and lot of other components:

#[try
{
    #[Box iterate(i = 0; $(i) < 10; i += 1): 
        ...
    ]
}catch{ }]

#[( #[vsSBE events.Pre.item(1).Enabled] || ($(Configuration) == "Release" && $(sysc)) )
{
    #[Build projects.find("name").IsBuildable = false]
}
else
{
    #[var bSha1 = #[IO sout("git", "rev-parse --short HEAD")]]
    ...
}]

... create new in 5 minutes

Processing modes

https://3F.github.io/web.vsSBE/doc/Modes/

From simple commands to C# or even msbuild targets:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <Target Name="Init">
        <!-- ... -->
    </Target>

    <!--
        Additional properties:
            $(ActionName)
            $(BuildType)
            $(EventType)
            $(SupportMSBuild)
            $(SupportSBEScripts)
            $(SolutionActiveCfg)
            $(StartupProject)
    -->
</Project>

CommandEvent (DTE)

You can also use this to catch all command from VS IDE. Samples:

$(lcGuid = #[DTE events.LastCommand.Guid])
$(lcId   = #[DTE events.LastCommand.Id])

#[($(lcGuid) == "{1496A755-94DE-11D0-8C3F-00C04FC2AAE2}" && $(lcId) == 1627) {
    #[File scall("notepad", "#[var log]", 30)]
}]

Automatic Version Numbering

See our Wizard for automatic code generation or use any custom scripts.

Various environments

You can easily use this with TeamCity, Azure DevOps, AppVeyor, and any other automated environments:

...

Solution-wide Build events

Pre-Build / Post-Build events for all projects at once or individually for each separately: configure what you need.

Stop build on first error

Immediately stop (at the same time) after the first appearance (compared with StopOnFirstBuildError plugin [?])

Wiki

Wiki - Contains help for work with plugins, basic examples, syntax, information for develop, and lot of other...

Feel free to improve any our pages. Click [Edit] button or Start new here.

Questions / Bugs / Suggestions / Source Code

Welcome to the new home (*since 2017; before, Bitbucket):

Screenshots

Overview.VS2013

[. . .]

vssolutionbuildevent's People

Contributors

3f avatar dependabot-preview[bot] avatar navossoc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vssolutionbuildevent's Issues

.vssbe configuration via HJSON

Here I already noticed about some pros of the new format:

Mode:
{
  $type: net.r_eg.vsSBE.Events.ModeScript, vsSolutionBuildEvent
  Type: Script
  Command:
    '''
    #[7z pack.files
    (
        {
            "$(odir)\\lib\\net$(netstamp)\\*.*",
            "$(odir)\\*.*"
        }, 
        "$(dbin)\\Conari_v$(pVer).zip", 
        { 
            "$(odir)\\*.nuspec" 
        }
    )]
    '''

So, I've plan to consider upgrading to this. But I can't specify dates at all for this issue due to other major tasks.

Thus, PR is welcomed.

$(ProjectDir) doesn't resolve properly

Originally reported by: Anonymous


I've just upodated to latest version of solutionBuildEvents (0.11.2.50249) to check if an issue I found is resolved but ...

Thing is like this - I have four projects under my solution and I've made a small program to fix version numbers. Thus I created a pre-build event with settings:
Control: Enabled, Waiting for completion, MSBuild Support, SBE-Scripts support
Processing mode: Files mode
Files to execute: versionfix $(ProjectDir)VersionNo.h

versionfix is a small program that changes the .h file to set my desired version number. Now the issue is this - No matter which project I build, SBE always prepares and executes command for the project, which is set as 'Start-up project', and not for the one currently being built.

Should be easy to reproduce - create a solution with two projects, add a pre-build event in file mode, using the $(ProjectDir) in the path/parameters, then try to build the non-startup project and check the SBE output.


targets mode issue

I'm using the Targets Mode to start a powershell script that does the stuff i want (copying config files around, stopping (prebuild) and starting (postbuild) services.

.targets lookse like:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="Init">
        <!--dirty hack to add a space inside the argument, otherwise the argument is not properly parsed, Trim it in the script!!-->
        <Exec Command="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File &quot;$(SolutionDir)/Prebuild.ps1&quot; &quot;$(SolutionDir) &quot; &quot;$(TargetDir) &quot;" />
</Target>
</Project>

The powershell scripts only use standard Powershell cmdlets (Write-Output, Copy-Item, Stop-Service and Start-Service)

This used to work very well with vssbe 0.12.7 but with 0.12.9 this seemed to stop working.
The scripts get executed as expected but it looks like after the postbuild target has run, visual studio waits for some output of vssbe as visual studio is completely unresponsive.

Tool Extension on VS2013 Express or the replacement pro for simple debug

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


my trial version has expired., and need to find any variants for debugging :( purchase will be expensive for home use... (I have only older Professional box licence)

Everyone knows about business model of MS: Extensions != Express

However., what we have (what i see) for latest versions:

  • With simple changes into vsixmanifest & pkgdef gives the following result on 2013:

PLK problem:

#!bash#


Warning    CheckPackageSignature failed; invalid Package Load Key    {94ECD13F-15F3-4F51-9AFD-17F0275C6266} Microsoft Visual Studio Appid Stub
Warning    Appid denied the loading of package    {94ECD13F-15F3-4F51-9AFD-17F0275C6266}        VisualStudio

no precise info:

problem can be still with some stubs (it's crazy my dear MS) or really with the PLK or another.. I hope that's second problem and possible to find any solution.

94ecd13f-15f3-4f51-9afd-17f0275c6266 for WDExpress 12.0:

#!bash

[HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Packages\{94ecd13f-15f3-4f51-9afd-17f0275c6266}]
@="net.r_eg.vsSBE.vsSolutionBuildEventPackage, vsSolutionBuildEvent, Version=0.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"InprocServer32"="C:\\WINDOWS\\system32\\mscoree.dll"
"Class"="net.r_eg.vsSBE.vsSolutionBuildEventPackage"
"CodeBase"="C:\\Users\\reg\\AppData\\Local\\Microsoft\\WDExpress\\12.0\\Extensions\\ny23ulb5.akz\\vsSolutionBuildEvent.dll"
...

PublicKeyToken can be as null if lib not signed

so, TODO: instruments or solution


Ability to send the custom messages into VS.Output Window -> Buid pane

Originally reported by: Lukasz Stanczyk (Bitbucket: lstanczyk, GitHub: lstanczyk)


How can one pass output to the build window?
I have pre-build event in interpreter mode. That executes

cmd.exe /C @PowerShell G:\Workbench\Project1\beforeBuild.ps1 -SolutionDir G:\Workbench\project1

when in output window i select category of build - none of messages from the script are shown.


Dynamically define variables

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


  • suggested format:
#!java#

temporary - at runtime:

    $(var=value)
    $(var=value:project)

#!java#

persistence - writes into standard projects containers ~.csproj,.vcxproj,etc.:

    $(#var=value)
    $(#var=value:project)

  • sample of use:
#!text

$(slnDir=$(SolutionDir.Replace('\', '/')))
$(prgDir=$(ProjectDir.Replace('\', '/'):vsSolutionBuildEvent))
$(prgDirVer=$(ProjectDir.Replace('\', '/'):Version))

"$(TargetPath.Replace('\', '/'):Version)" 
"$(slnDir)_version" "$(slnDir).git" "$(prgDirVer)Version.tpl" "$(prgDir)Version.cs" "$(prgDir)source.extension.vsixmanifest"

/ find conflicts: MSBuild Concepts - Property Functions


ProjectGuid & SDK-based projects

For SDK-based projects the $(ProjectGuid) does not exist anymore, i.e. this property is empty by default.

Possible problem:

[ERROR]: Failed getting project from EnvDTE: An equivalent project (a project with the same global properties and tools version)
is already present in the project collection, with the path "<path_to_project_file>". 
To load an equivalent into this project collection, unload this project first.

related: 3F/DllExport#36 (comment)

Some information is still can be received from CurrentSolutionConfigurationContents, but...

Open other solution with own vssbe settings

Originally reported by: Anonymous


The code below is initialized only once per VS Studio instance and it prevents to load other solution which has own vssbe settings:
///

    /// Thread-safe getting the instance of Config class
    /// </summary>


    public static Config _
    {
        get { return _lazy.Value; }
    }
    private static readonly Lazy<Config> _lazy = new Lazy<Config>(() => new Config());

This extension is not compatible with Visual Studio 15 and will not be supported in RC

My report here: https://developercommunity.visualstudio.com/content/problem/1180/index.html

It appeared in new 15 Preview 5 (25807.00) from the new extension format (not yet published documentation):

This extension is not compatible with Visual Studio 15 and will not be supported in RC. 
Installation may cause Visual Studio to be unstable.  Do you want to continue?

And mainly the Visual Studio Team is already thinking about compatible way, at least with previous VSIXv2 format.

Tim Sneath

Hi Denis Kuzmin, thanks so much for your feedback here. We haven't yet published documentation on the new extension format, but plan to do so within the next month.

We share your concern about avoiding breaking backwards compatibility. The challenge with the new modular architecture of Visual Studio is that the smallest install is now just a few hundreds of megabytes, and doesn't even include things like MSBuild. This enables us to support developers using languages like R or Python without imposing unnecessary components in their install.

So an extension like yours needs minor changes to the manifest to express the setup dependencies it actually needs. Our goal is to ensure that you can make these changes in a backwards-compatible way, at least as far as the previous VSIXv2 format.

Best wishes, Tim Sneath | Visual Studio Team

Denis Kuzmin

well, as you are can see the manifest is v1.0 for support all starting from VS2010:
https://github.com/3F/vsSolutionBuildEvent/blob/master/vsSolutionBuildEvent/source.extension.vsixmanifest

i.e. if I correctly understand (https://msdn.microsoft.com/en-us/library/hh696828.aspx) the v2 is not supported by VS2010. Only VS2012, 2013, 2015

Therefore, should I finally stop support of VS2010 or provide 2 or 3 variant of my package for each version of Visual Studio ?!

or there are more ways ?

We still do not know about the final decision of the team (read my discussion here), but anyway I will consider support of VS2010 later

Events order - After/Before selected project

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


Simple example:

  • Not possible execute the any command until not completed assembly projectX

Currently we can only manually start building for some project with command like that:

#!bash#


$(MSBuildBinPath)\MSBuild "$(ProjectPath:<project>)" 
/t:Build /p:Configuration=<configuration> & <command>

where it's command to execute after assembled


IsolatedEnv and empty SolutionConfigurationPlatforms: "escapedValue" cannot be null

set __vssbe_diag= true to enable diagnostic mode.
Error when loading: 'System.ArgumentNullException: Parameter "escapedValue" cannot be null.
   at Microsoft.Build.Shared.ErrorUtilities.VerifyThrowArgumentNull(Object parameter, String parameterName, String resourceName)
   at Microsoft.Build.Execution.ProjectPropertyInstance.Create(String name, String escapedValue, Boolean mayBeReserved, ElementLocation location, Boolean isImmutable)
   at Microsoft.Build.Evaluation.ProjectCollection.SetGlobalProperty(String name, String value)
   at net.r_eg.vsSBE.IsolatedEnv..ctor(String solutionFile, IDictionary`2 properties)
   at net.r_eg.vsSBE.API.EventLevel.load(String sln, Dictionary`2 properties, ISettings cfg)
   at net.r_eg.vsSBE.Provider.Loader.load(String solutionFile, Dictionary`2 properties, String libPath, Boolean createDomain)
   at net.r_eg.vsSBE.Provider.Loader.load(String solutionFile, Dictionary`2 properties, String libPath)
   at net.r_eg.vsSBE.CI.MSBuild.Initializer.load(InitializerProperties prop)'
MSBUILD : Logger error MSB1029: Fatal error
 Build failed.

Possible when no SolutionConfigurationPlatforms records inside .sln, for example, projects such https://github.com/3F/GetNuTool

set cim=packages\vsSolutionBuildEvent\cim.cmd
call %cim% "gnt.sln" /v:m /m:4 

Temp solution

Either define any values for Configuration/Platform when invoking:

call %cim% "gnt.sln" /v:m /m:4 /p:Configuration=Release /p:Platform=x64

Or add SolutionConfigurationPlatforms with default value for .sln

Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
	EndGlobalSection

v

call %cim% "gnt.sln" /v:m /m:4 /p:Configuration=Release
:: now platform will be considered as /p:Platform=Any CPU

Crash on 0.8.0 (unloaded projects)

Originally reported by: Rafael Cossovan (Bitbucket: navossoc, GitHub: navossoc)


Hey, me again...

I update to your new version yesterday, now every time I try to open the "Events solution" window it crash's.

Seems the problem occur only when you have unloaded projects on your solution. Otherwise, works fine.

Environment:
Visual Studio 2013 Update 3
Windows 8.1 Update 1 x64

I'm attaching my crash log for you analyze.

PS: I forgot to mention, but I already see before a strange behavior when you unload projects, some path on environment variables changes.


NuGet integration - Docu

Hi,

sorry if this is the wrong place to post a question. The main page referenced the Wiki where I didn't find a link to a forum or aslike.

What I am looking for is "How to setup NuGet package so that I don't have to install the VisualStudio Extension".

Many thanks
Martin

Subcommands. Executing commands from scripts

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


Need support to execute commands:

DTE:

#!java

#[DTE exec: <cmd>(<args>)]

and limited support for work with vsSBE, for example:

#!Java

#[vsSBE events.<type>.item(<name>/<index>).enabled = false]

Variant with the cancel building (cancel by result of variables directly, scripts and similar):

#!java

#[Build cancel = true|false|1|0]

(wrapped of dte, i.e. another variant it's the #[DTE exec: ..])


See also: Issue #22 - Unification of the format of our scripts


"Undefined" - Build.Evaluation.ProjectProperty

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


problem with the _reloadProjectCollection() on some projects

#!text

+ [203] "DevEnvDir"="*Undefined*" ["*Undefined*"]   Microsoft.Build.Evaluation.ProjectProperty {Microsoft.Build.Evaluation.ProjectProperty.ProjectPropertyXmlBacked}
+ [204] "SolutionName"="*Undefined*" ["*Undefined*"]    Microsoft.Build.Evaluation.ProjectProperty {Microsoft.Build.Evaluation.ProjectProperty.ProjectPropertyXmlBacked}
+ [205] "SolutionFileName"="*Undefined*" ["*Undefined*"]    Microsoft.Build.Evaluation.ProjectProperty {Microsoft.Build.Evaluation.ProjectProperty.ProjectPropertyXmlBacked}
+ [206] "SolutionPath"="*Undefined*" ["*Undefined*"]    Microsoft.Build.Evaluation.ProjectProperty {Microsoft.Build.Evaluation.ProjectProperty.ProjectPropertyXmlBacked}
+ [207] "SolutionDir"="*Undefined*" ["*Undefined*"] Microsoft.Build.Evaluation.ProjectProperty {Microsoft.Build.Evaluation.ProjectProperty.ProjectPropertyXmlBacked}
+ [208] "SolutionExt"="*Undefined*" ["*Undefined*"] Microsoft.Build.Evaluation.ProjectProperty {Microsoft.Build.Evaluation.ProjectProperty.ProjectPropertyXmlBacked}

The "Undefined" can occur when GlobalProjectCollection can filled with the LoadProject instead of a Solution-context.

all problems(similar) come from GlobalProjectCollection (Microsoft.Build.Evaluation)

MSDN:

see #8


'Object reference not set to an instance of an object.'

Hi.

When I build a solution that doesn't have a .vssbe file in the solution directory, I get the following errors in the Output window:

[ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
[ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'

Debug Enabled around 9:14:48 PM:

12:05:43 PM.3164 [INFO]: Initialized with new settings.

Ready:

	 0 / 1] Pre-Build      :: [X]
	 0 / 0] Post-Build     :: 
	 0 / 0] Cancel-Build   :: 
	 0 / 0] CommandEvent   :: 
	 0 / 0] Warnings-Build :: 
	 0 / 0] Errors-Build   :: 
	 0 / 0] Output-Build   :: 
	 0 / 0] Sln-Opened     :: 
	 0 / 0] Sln-Closed     :: 
	 0 / 0] Transmitter    :: 
	 0 / 0] Logging        :: 
---
========== [12:15:54 PM.6706] Build-Events started ==========
========== [12:16:51 PM.3998] Build-Events completed ==========


========== [12:17:04 PM.9920] Build-Events started ==========
========== [12:17:10 PM.2538] Build-Events completed ==========


========== [12:41:00 PM.9554] Build-Events started ==========
========== [12:41:09 PM.8673] Build-Events completed ==========


========== [12:41:14 PM.9225] Build-Events started ==========
========== [12:41:34 PM.6887] Build-Events completed ==========


========== [12:43:11 PM.2843] Build-Events started ==========
========== [12:43:17 PM.6336] Build-Events completed ==========


========== [12:43:59 PM.5810] Build-Events started ==========
========== [12:44:23 PM.4158] Build-Events completed ==========


========== [12:50:46 PM.7467] Build-Events started ==========
========== [12:50:52 PM.4733] Build-Events completed ==========


========== [12:50:57 PM.4330] Build-Events started ==========
========== [12:51:20 PM.8110] Build-Events completed ==========


========== [12:57:25 PM.6365] Build-Events started ==========
========== [12:57:49 PM.7162] Build-Events completed ==========


========== [1:00:35 PM.3608] Build-Events started ==========
========== [1:00:40 PM.4368] Build-Events completed ==========


========== [1:03:30 PM.1129] Build-Events started ==========
========== [1:03:54 PM.4965] Build-Events completed ==========


========== [1:13:00 PM.9183] Build-Events started ==========
========== [1:13:25 PM.4180] Build-Events completed ==========


========== [1:15:50 PM.1281] Build-Events started ==========
========== [1:16:14 PM.5881] Build-Events completed ==========


========== [1:17:51 PM.7770] Build-Events started ==========
========== [1:18:19 PM.6001] Build-Events completed ==========


========== [1:28:42 PM.3998] Build-Events started ==========
========== [1:28:46 PM.2584] Build-Events completed ==========


========== [1:30:36 PM.6967] Build-Events started ==========
========== [1:30:43 PM.6409] Build-Events completed ==========


========== [1:37:07 PM.0132] Build-Events started ==========
========== [1:37:22 PM.5003] Build-Events completed ==========


========== [1:38:47 PM.6964] Build-Events started ==========
========== [1:39:07 PM.0949] Build-Events completed ==========


========== [1:40:11 PM.8377] Build-Events started ==========
========== [1:40:17 PM.1862] Build-Events completed ==========


========== [1:40:55 PM.6687] Build-Events started ==========
========== [1:41:00 PM.9300] Build-Events completed ==========


========== [1:53:20 PM.7307] Build-Events started ==========
========== [1:53:27 PM.2082] Build-Events completed ==========


========== [1:59:21 PM.0629] Build-Events started ==========
========== [1:59:47 PM.0008] Build-Events completed ==========


========== [2:01:27 PM.4150] Build-Events started ==========
========== [2:01:32 PM.7784] Build-Events completed ==========


========== [2:03:30 PM.9362] Build-Events started ==========
========== [2:03:55 PM.4252] Build-Events completed ==========


========== [2:07:04 PM.7454] Build-Events started ==========
========== [2:07:28 PM.3221] Build-Events completed ==========


========== [2:10:56 PM.5173] Build-Events started ==========
========== [2:11:01 PM.5879] Build-Events completed ==========


========== [2:14:27 PM.5484] Build-Events started ==========
========== [2:14:51 PM.8903] Build-Events completed ==========


========== [2:15:50 PM.2322] Build-Events started ==========
========== [2:15:55 PM.1680] Build-Events completed ==========


========== [4:29:11 PM.7691] Build-Events started ==========
4:29:17 PM.6117 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
4:29:18 PM.0647 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
4:30:22 PM.6165 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
4:30:22 PM.8295 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
========== [4:34:51 PM.4554] Build-Events completed ==========


========== [5:32:13 PM.0000] Build-Events started ==========
5:32:13 PM.8488 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
5:32:14 PM.0189 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
5:32:35 PM.2828 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
5:32:35 PM.3008 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
========== [5:33:59 PM.9582] Build-Events completed ==========


========== [9:09:34 PM.2420] Build-Events started ==========
9:09:35 PM.6129 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
9:09:35 PM.7529 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
9:10:00 PM.0439 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
9:10:00 PM.0439 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
========== [9:12:09 PM.5304] Build-Events completed ==========

========== [9:14:48 PM.2062] Build-Events started ==========
9:14:48 PM.5752 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.5752 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.5752 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.5752 [TRACE]: onProject: 'LKL'(:?: First Project/:?: First Type):Before == True
9:14:48 PM.5752 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.5752 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.5752 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.5752 [TRACE]: onProject: 'LKL'(:?: First Project/:?: First Type):After == True
9:14:48 PM.6611 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.6611 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.6611 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.6611 [TRACE]: onProject: 'MS.LG'(/):Before == True
9:14:48 PM.6881 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.6881 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.6881 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.6881 [TRACE]: onProject: 'MS.LG'(/):After == True
9:14:48 PM.7031 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7031 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7031 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7031 [TRACE]: onProject: 'L.C'(/):Before == True
9:14:48 PM.7031 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7031 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7031 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7031 [TRACE]: onProject: 'L.C'(/):After == True
9:14:48 PM.7151 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7151 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7151 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7151 [TRACE]: onProject: 'L.W.S.PB'(/):Before == True
9:14:48 PM.7151 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7151 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7151 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7151 [TRACE]: onProject: 'L.W.S.PB'(/):After == True
9:14:48 PM.7151 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7151 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7151 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7151 [TRACE]: onProject: 'L.KG'(/):Before == True
9:14:48 PM.7251 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7251 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7251 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7251 [TRACE]: onProject: 'L.KG'(/):After == True
9:14:48 PM.7521 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7521 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7521 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7521 [TRACE]: onProject: 'L.D.M'(/):Before == True
9:14:48 PM.7521 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7521 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7521 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7521 [TRACE]: onProject: 'L.D.M'(/):After == True
9:14:48 PM.7651 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7651 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7651 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7651 [TRACE]: onProject: 'SDE'(/):Before == True
9:14:48 PM.7651 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7651 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7651 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7651 [TRACE]: onProject: 'SDE'(/):After == True
9:14:48 PM.7741 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7741 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7741 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7741 [TRACE]: onProject: 'L.TH.C'(/):Before == True
9:14:48 PM.7741 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7741 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7741 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7741 [TRACE]: onProject: 'L.TH.C'(/):After == True
9:14:48 PM.7951 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7951 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7951 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7951 [TRACE]: onProject: 'L.BL'(/):Before == True
9:14:48 PM.7951 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.7951 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.7951 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.7951 [TRACE]: onProject: 'L.BL'(/):After == True
9:14:48 PM.8051 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8051 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8051 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8051 [TRACE]: onProject: 'L.C.PB'(/):Before == True
9:14:48 PM.8051 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8051 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8051 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8051 [TRACE]: onProject: 'L.CTH.PB'(/):Before == True
9:14:48 PM.8201 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8201 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8201 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8201 [TRACE]: onProject: 'L.CTH.PB'(/):After == True
9:14:48 PM.8201 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8201 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8201 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8201 [TRACE]: onProject: 'L.CSL'(/):Before == True
9:14:48 PM.8201 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8201 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8201 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8201 [TRACE]: onProject: 'L.CSL'(/):After == True
9:14:48 PM.8381 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
9:14:48 PM.8381 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8381 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8381 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8381 [TRACE]: onProject: 'L.CB'(/):Before == True
9:14:48 PM.8381 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8381 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8381 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8501 [TRACE]: onProject: 'L.CB'(/):After == True
9:14:48 PM.8501 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8501 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8501 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8501 [TRACE]: onProject: 'L.D.U'(/):Before == True
9:14:48 PM.8501 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8501 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8501 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8501 [TRACE]: onProject: 'L.D.U'(/):After == True
9:14:48 PM.8711 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8711 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8711 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8711 [TRACE]: onProject: 'L.CB.DM'(/):Before == True
9:14:48 PM.8711 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8711 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8711 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8711 [TRACE]: onProject: 'L.CB.DM'(/):After == True
9:14:48 PM.8811 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8811 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8811 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8811 [TRACE]: onProject: 'L.W.TH.PB'(/):Before == True
9:14:48 PM.8811 [TRACE]: Unloaded project 'L.R' has ignored
9:14:48 PM.8811 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:48 PM.8811 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:48 PM.8811 [TRACE]: onProject: 'L.W.TH.PB'(/):After == True
9:14:48 PM.8811 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
9:14:50 PM.1681 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.1681 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.1681 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.1681 [TRACE]: onProject: 'L.W.S'(/):Before == True
9:14:50 PM.1681 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.1681 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.1681 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.1681 [TRACE]: onProject: 'L.W.S'(/):After == True
9:14:50 PM.1991 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.1991 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.1991 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.1991 [TRACE]: onProject: 'L.CB.OM'(/):Before == True
9:14:50 PM.1991 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.1991 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.1991 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.1991 [TRACE]: onProject: 'L.CB.OM'(/):After == True
9:14:50 PM.2531 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.2531 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.2531 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.2531 [TRACE]: onProject: 'L.W.S.C'(/):Before == True
9:14:50 PM.2791 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.2791 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.2791 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.2791 [TRACE]: onProject: 'L.TH'(/):Before == True
9:14:50 PM.2971 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.2971 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.2971 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.2971 [TRACE]: onProject: 'L.TH'(/):After == True
9:14:50 PM.3071 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.3071 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.3071 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.3071 [TRACE]: onProject: 'L.D'(/):Before == True
9:14:50 PM.3371 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.3371 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.3371 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.3371 [TRACE]: onProject: 'L.W.PB'(/):Before == True
9:14:50 PM.3371 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.3371 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.3371 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.3371 [TRACE]: onProject: 'L.W.PB'(/):After == True
9:14:50 PM.3541 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.3541 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.3541 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.3541 [TRACE]: onProject: 'L.CB.DM.T'(/):Before == True
9:14:50 PM.5411 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.5411 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.5411 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.5411 [TRACE]: onProject: 'L.C.PB'(/):After == True
9:14:50 PM.9081 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9081 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9081 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9081 [TRACE]: onProject: 'L.W.S.PC'(/):Before == True
9:14:50 PM.9081 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9081 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9081 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9081 [TRACE]: onProject: 'L.W.S.PC'(/):After == True
9:14:50 PM.9221 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9221 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9221 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9221 [TRACE]: onProject: 'L.CB.OM.I'(/):Before == True
9:14:50 PM.9221 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9221 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9221 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9221 [TRACE]: onProject: 'L.CB.OM.I'(/):After == True
9:14:50 PM.9711 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9711 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9711 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9711 [TRACE]: onProject: 'L.ECP'(/):Before == True
9:14:50 PM.9711 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9711 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9711 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9711 [TRACE]: onProject: 'L.ECP'(/):After == True
9:14:50 PM.9891 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9891 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9921 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9921 [TRACE]: onProject: 'L.C.T'(/):Before == True
9:14:50 PM.9921 [TRACE]: Unloaded project 'L.R' has ignored
9:14:50 PM.9921 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:50 PM.9921 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:50 PM.9921 [TRACE]: onProject: 'L.C.T'(/):After == True
9:14:51 PM.0441 [TRACE]: Unloaded project 'L.R' has ignored
9:14:51 PM.0441 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:51 PM.0441 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:51 PM.0441 [TRACE]: onProject: 'L.KG.T'(/):Before == True
9:14:51 PM.0441 [TRACE]: Unloaded project 'L.R' has ignored
9:14:51 PM.0441 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:51 PM.0441 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:51 PM.0441 [TRACE]: onProject: 'L.KG.T'(/):After == True
9:14:52 PM.9561 [TRACE]: Unloaded project 'L.R' has ignored
9:14:52 PM.9561 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:52 PM.9561 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:52 PM.9561 [TRACE]: onProject: 'L.CB.DM.T'(/):After == True
9:14:55 PM.4070 [TRACE]: Unloaded project 'L.R' has ignored
9:14:55 PM.4070 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:55 PM.4070 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:55 PM.4070 [TRACE]: onProject: 'L.W.S.C'(/):After == True
9:14:55 PM.4270 [TRACE]: Unloaded project 'L.R' has ignored
9:14:55 PM.4270 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:55 PM.4270 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:55 PM.4270 [TRACE]: onProject: 'L.RS.W'(/):Before == True
9:14:55 PM.4410 [TRACE]: Unloaded project 'L.R' has ignored
9:14:55 PM.4410 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:55 PM.4410 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:55 PM.4410 [TRACE]: onProject: 'L.D.T'(/):Before == True
9:14:58 PM.1700 [TRACE]: Unloaded project 'L.R' has ignored
9:14:58 PM.1700 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:14:58 PM.1700 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:14:58 PM.1700 [TRACE]: onProject: 'L.D.T'(/):After == True
9:15:04 PM.0559 [TRACE]: Unloaded project 'L.R' has ignored
9:15:04 PM.0559 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:04 PM.0559 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:04 PM.0559 [TRACE]: onProject: 'L.RS.W'(/):After == True
9:15:04 PM.1329 [TRACE]: Unloaded project 'L.R' has ignored
9:15:04 PM.1329 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:04 PM.1329 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:04 PM.1329 [TRACE]: onProject: 'L.W'(/):Before == True
9:15:04 PM.1499 [TRACE]: Unloaded project 'L.R' has ignored
9:15:04 PM.1499 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:04 PM.1499 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:04 PM.1499 [TRACE]: onProject: 'L.RS.W.T'(/):Before == True
9:15:04 PM.6978 [TRACE]: Unloaded project 'L.R' has ignored
9:15:04 PM.6978 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:04 PM.6978 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:04 PM.6978 [TRACE]: onProject: 'L.RS.W.T'(/):After == True
9:15:07 PM.1618 [TRACE]: Unloaded project 'L.R' has ignored
9:15:07 PM.1618 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:07 PM.1618 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:07 PM.1628 [TRACE]: onProject: 'L.D'(/):After == True
9:15:07 PM.5688 [ERROR]: Failed Project.Pre-binding: 'Object reference not set to an instance of an object.'
9:15:07 PM.5688 [ERROR]: Failed Project.Post-binding: 'Object reference not set to an instance of an object.'
9:15:19 PM.2018 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.2018 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.2018 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.2018 [TRACE]: onProject: 'L.W'(/):After == True
9:15:19 PM.8188 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8188 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8188 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8188 [TRACE]: onProject: 'L.W.C'(/):Before == True
9:15:19 PM.8188 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8188 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8188 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8188 [TRACE]: onProject: 'L.W.C'(/):After == True
9:15:19 PM.8188 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8188 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8188 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8188 [TRACE]: onProject: 'L.W.S.T.C'(/):Before == True
9:15:19 PM.8518 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8518 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8518 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8518 [TRACE]: onProject: 'L.RS.W.C'(/):Before == True
9:15:19 PM.8518 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8518 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8518 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8518 [TRACE]: onProject: 'L.RS.W.C'(/):After == True
9:15:19 PM.8698 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8698 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8698 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8698 [TRACE]: onProject: 'L.RS'(/):Before == True
9:15:19 PM.8698 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8698 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8698 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8698 [TRACE]: onProject: 'L.RS'(/):After == True
9:15:19 PM.8838 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8838 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8838 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8838 [TRACE]: onProject: 'LS.C'(/):Before == True
9:15:19 PM.8838 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.8838 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.8838 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.8838 [TRACE]: onProject: 'LS.C'(/):After == True
9:15:19 PM.9028 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9028 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9028 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9028 [TRACE]: onProject: 'L.SSLMC'(/):Before == True
9:15:19 PM.9028 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9028 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9028 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9028 [TRACE]: onProject: 'L.SSLMC'(/):After == True
9:15:19 PM.9388 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9388 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9388 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9388 [TRACE]: onProject: 'L.CTH'(/):Before == True
9:15:19 PM.9388 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9388 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9388 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9388 [TRACE]: onProject: 'L.CTH'(/):After == True
9:15:19 PM.9598 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9598 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9598 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9598 [TRACE]: onProject: 'L.W.TH'(/):Before == True
9:15:19 PM.9598 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9598 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9598 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9598 [TRACE]: onProject: 'L.W.TH'(/):After == True
9:15:19 PM.9788 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9788 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9788 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9788 [TRACE]: onProject: 'LS.CT'(/):Before == True
9:15:19 PM.9788 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9788 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9788 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9788 [TRACE]: onProject: 'LS.CT'(/):After == True
9:15:19 PM.9908 [TRACE]: Unloaded project 'L.R' has ignored
9:15:19 PM.9908 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:19 PM.9908 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:19 PM.9908 [TRACE]: onProject: 'L.W.T'(/):Before == True
9:15:20 PM.0328 [TRACE]: Unloaded project 'L.R' has ignored
9:15:20 PM.0328 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:20 PM.0328 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:20 PM.0328 [TRACE]: onProject: 'L.CT'(/):Before == True
9:15:20 PM.0398 [TRACE]: Unloaded project 'L.R' has ignored
9:15:20 PM.0398 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:20 PM.0398 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:20 PM.0398 [TRACE]: onProject: 'L.CT'(/):After == True
9:15:20 PM.0828 [TRACE]: Unloaded project 'L.R' has ignored
9:15:20 PM.0838 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:20 PM.0838 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:20 PM.0838 [TRACE]: onProject: 'L'(/):Before == True
9:15:20 PM.1338 [TRACE]: Unloaded project 'L.R' has ignored
9:15:20 PM.1338 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:20 PM.1338 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:20 PM.1338 [TRACE]: onProject: 'L.S'(/):Before == True
9:15:33 PM.6288 [TRACE]: Unloaded project 'L.R' has ignored
9:15:33 PM.6288 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:33 PM.6288 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:33 PM.6288 [TRACE]: onProject: 'L.W.S.T.C'(/):After == True
9:15:33 PM.6538 [TRACE]: Unloaded project 'L.R' has ignored
9:15:33 PM.6538 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:33 PM.6538 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:33 PM.6538 [TRACE]: onProject: 'L.W.S.T.P'(/):Before == True
9:15:34 PM.4818 [TRACE]: Unloaded project 'L.R' has ignored
9:15:34 PM.4818 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:34 PM.4818 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:34 PM.4818 [TRACE]: onProject: 'L.W.T'(/):After == True
9:15:35 PM.0198 [TRACE]: Unloaded project 'L.R' has ignored
9:15:35 PM.0198 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:35 PM.0198 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:35 PM.0198 [TRACE]: onProject: 'L.S'(/):After == True
9:15:35 PM.0478 [TRACE]: Unloaded project 'L.R' has ignored
9:15:35 PM.0478 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:35 PM.0478 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:35 PM.0478 [TRACE]: onProject: 'L.MCA'(/):Before == True
9:15:35 PM.0478 [TRACE]: Unloaded project 'L.R' has ignored
9:15:35 PM.0478 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:35 PM.0478 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:35 PM.0478 [TRACE]: onProject: 'L.MCA'(/):After == True
9:15:35 PM.0598 [TRACE]: Unloaded project 'L.R' has ignored
9:15:35 PM.0598 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:35 PM.0598 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:35 PM.0598 [TRACE]: onProject: 'L.BL.T'(/):Before == True
9:15:35 PM.0748 [TRACE]: Unloaded project 'L.R' has ignored
9:15:35 PM.0748 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:35 PM.0748 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:35 PM.0748 [TRACE]: onProject: 'L.S.T'(/):Before == True
9:15:38 PM.0097 [TRACE]: Unloaded project 'L.R' has ignored
9:15:38 PM.0097 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:38 PM.0097 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:38 PM.0097 [TRACE]: onProject: 'L'(/):After == True
9:15:38 PM.4457 [TRACE]: Unloaded project 'L.R' has ignored
9:15:38 PM.4457 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:38 PM.4457 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:38 PM.4457 [TRACE]: onProject: 'L.T.SL'(/):Before == True
9:15:39 PM.2407 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.2407 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.2407 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.2407 [TRACE]: onProject: 'L.BL.T'(/):After == True
9:15:39 PM.4217 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.4217 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.4217 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.4217 [TRACE]: onProject: 'L.W.TH.C'(/):Before == True
9:15:39 PM.4217 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.4217 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.4217 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.4217 [TRACE]: onProject: 'L.W.TH.C'(/):After == True
9:15:39 PM.4397 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.4397 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.4397 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.4397 [TRACE]: onProject: 'L.W.C.T'(/):Before == True
9:15:39 PM.4437 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.4437 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.4437 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.4437 [TRACE]: onProject: 'L.W.C.T'(/):After == True
9:15:39 PM.4597 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.4597 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.4597 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.4597 [TRACE]: onProject: 'L.W.S.CT'(/):Before == True
9:15:39 PM.4597 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.4597 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.4597 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.4597 [TRACE]: onProject: 'L.W.S.CT'(/):After == True
9:15:39 PM.7157 [TRACE]: Unloaded project 'L.R' has ignored
9:15:39 PM.7157 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:39 PM.7157 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:39 PM.7157 [TRACE]: onProject: 'L.S.T'(/):After == True
9:15:48 PM.0281 [TRACE]: Unloaded project 'L.R' has ignored
9:15:48 PM.0281 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:48 PM.0281 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:48 PM.0281 [TRACE]: onProject: 'L.T.SL'(/):After == True
9:15:48 PM.6126 [TRACE]: Unloaded project 'L.R' has ignored
9:15:48 PM.6126 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:48 PM.6126 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:48 PM.6126 [TRACE]: onProject: 'L.W.S.T.P'(/):After == True
9:15:48 PM.9106 [TRACE]: Unloaded project 'L.R' has ignored
9:15:48 PM.9106 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:48 PM.9106 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:48 PM.9106 [TRACE]: onProject: 'L.W.S.T'(/):Before == True
9:15:53 PM.4407 [TRACE]: Unloaded project 'L.R' has ignored
9:15:53 PM.4407 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:53 PM.4407 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:53 PM.4407 [TRACE]: onProject: 'L.W.S.T'(/):After == True
9:15:53 PM.4507 [TRACE]: Unloaded project 'L.R' has ignored
9:15:53 PM.4507 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:53 PM.4507 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:53 PM.4507 [TRACE]: onProject: 'L.T'(/):Before == True
9:15:56 PM.9187 [TRACE]: Unloaded project 'L.R' has ignored
9:15:56 PM.9187 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:56 PM.9187 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:56 PM.9187 [TRACE]: onProject: 'L.T'(/):After == True
9:15:56 PM.9437 [TRACE]: Unloaded project 'L.R' has ignored
9:15:56 PM.9437 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:56 PM.9437 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:56 PM.9437 [TRACE]: onProject: 'L.CB.OM.T'(/):Before == True
9:15:56 PM.9587 [TRACE]: Unloaded project 'L.R' has ignored
9:15:56 PM.9587 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:15:56 PM.9587 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:15:56 PM.9587 [TRACE]: onProject: 'L.R.T'(/):Before == True
9:16:00 PM.9106 [TRACE]: Unloaded project 'L.R' has ignored
9:16:00 PM.9106 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:16:00 PM.9106 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:16:00 PM.9106 [TRACE]: onProject: 'L.R.T'(/):After == True
9:16:02 PM.6940 [TRACE]: Unloaded project 'L.R' has ignored
9:16:02 PM.6940 [TRACE]: Unloaded project 'L.D.IS' has ignored
9:16:02 PM.6940 [TRACE]: Unloaded project 'Miscellaneous Files' has ignored
9:16:02 PM.6940 [TRACE]: onProject: 'L.CB.OM.T'(/):After == True
9:16:03 PM.0050 [TRACE]: Reseted all User-variables
========== [9:16:03 PM.0050] Build-Events completed ==========

Thank you.

7z & amd64\msbuild.exe: Can not load 7-zip library or internal COM error

Found with Native scripting and GetNuTool project.

through this helper:

"packages\vsSBE.CI.MSBuild\bin\CI.MSBuild" "gnt.sln" /v:m /m:4
...
MSBuild Tools: "C:\Program Files (x86)\MSBuild\14.0\bin\amd64\\msbuild.exe"
Compact version of `../gnt.core` has been created -> `gnt.core`
Executable version of `../minified/gnt.core` has been created -> `gnt.bat`
Generate minified version in D:\prg\projects\GetNuTool\GetNuTool\embedded\\gnt.core ...
MSBuild Tools: "C:\Program Files (x86)\MSBuild\14.0\bin\amd64\\msbuild.exe"
Core 1 'D:\prg\projects\GetNuTool\GetNuTool\embedded\\../minified/gnt.core'
Core 2 'D:\prg\projects\GetNuTool\GetNuTool\embedded\\gnt.core'
Compute SHA-1 ...
Core 1 == Core 2 :: Core 1 is completely identical Core 2
18:31:10.0157 [INFO]: [Pre] finished SBE: Building
18:31:10.0788 [INFO]: Launching action 'Binaries & tools ...' :: Configuration - 'Release|x86'
18:31:10.0788 [INFO]: Use Script Mode
18:31:10.1858 [INFO]: [Post] finished SBE: Binaries & tools ...
18:31:10.1858 [INFO]: Launching action 'Zip' :: Configuration - 'Release|x86'
18:31:10.1968 [INFO]: Use Script Mode
18:31:10.2409 [ERROR]: Post-Build error: Can not load 7-zip library or internal COM error! Message: failed to load library.

so yes, the detected above msbuild.exe is x64 and IntPtr now is 8 bytes !

SevenZipSharp.dll:

if ((_modulePtr = NativeMethods.LoadLibrary(libraryFileName)) == IntPtr.Zero)
{
    throw new SevenZipLibraryException("failed to load library.");
}

TODO: to consider Conari instead of omg SevenZipSharp -_-

How to fix temporarily (for current versions):

Firstly ! the Can not load 7-zip library it can also mean any problems for path to 7z.dll

If you are using something like:

msbuild "LunaRoad.sln" /l:"packages\vsSBE.CI.MSBuild\bin\CI.MSBuild.dll" ... <args>

try this:

"packages\vsSBE.CI.MSBuild\bin\CI.MSBuild" "LunaRoad.sln" ... <args>

CI.MSBuild.bat is already stored with vssbe and contains:

msbuild %* /l:"%~dp0%cimdll%" /nologo

But if you have problem with architecture ~ Error 193 (0xC1) (SevenZipSharp lib can't manage this, but you can read here) - you need use x86 msbuild. For Visual Studio users shouldn't be problems because all versions of VS still is 32bit

Updated: temporarily you can use my msbuild-helper with -notamd64 option - https://github.com/3F/GetNuTool/blob/master/msbuild.bat

msbuild -notamd64 <args> - to select x86 instance instead of x64 if it's possible.
msbuild <args> - to select any available instance.

for example:

msbuild -notamd64 "gnt.sln" /l:"packages\vsSBE.CI.MSBuild\bin\CI.MSBuild.dll" /m:4

MSBuild properties - environment variables

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


Подготовить парсер для св-в MSBuild окружения.

Следует учитывать, что решение должно покрывать доступ к переменным по умолчанию, так и для индивидуальных проектов, например:

#!c#

$(name)
$(name:project)
  • Также необходим UI хелпер для выбора из списка

Q and A: http://visualstudiogallery.msdn.microsoft.com/0d1dbfd7-ed8a-40af-ae39-281bfeca2334/


Exclude projects from build on pre-build event

Originally reported by: Anonymous


I would like to activate or deactivate projects when building a solution. Is it possible to setup a solution pre-build event to programmatically deactivate certain projects? In essence, I would like to do the same as if I would manually modify the "Build" checkboxes in the solution configuration properties. The problem that I'm trying to solve is about improving the build time in a C++ solution. In my solution, there are core projects and multiple plugin projects which depend on the core projects. Often, we make changes to core classes which do not change the application binary interface (ABI). In this case, the plugin projects don't have to be rebuilt. However, visual studio often triggers unnecessary rebuilds of files, e.g., when core header files are modified. To overcome this, I want to store a variable for the ABI version of the core projects. Each plugin project also stores the ABI version it has been built with the last time. In the pre-built solution event I want to compare the ABI version of the plugin project with the ABI version of the core. Only if they don't match, I want to build the plugin project (I was thinking to store the ABI version in some header file of the core plugin. Programmers must keep it uptodate). Thus it would be great if it were possible to programmatically deactivate a project in the pre-build event. I have checked the EnvDTE, but I have not yet found a way to accomplish this.

I have posted this issue on the plugins Q&A page and the author of the vsSolutionBuildEvent plugin kindly asked me to create this ticket here. To resolve this issue he suggests:

EnvDTE provides the SolutionContext Interface for getting/setting the buildable flag(IsBuildable) to selected projects. It's possible to do a more detailed configuration of the specific building, it can be implemented in the next versions as a similar window of the 'Execution Order'.


$(SolutionDir) not resolved correctly

Originally reported by: Eugen Richter (Bitbucket: WebDucer, GitHub: WebDucer)


With the 6.3 version the path for Solution directory is not resolved correctly.

Command Script:

#!bash

""$(SolutionDir)..\..\Techn_Bearb\SW\SW_Komponenten\PC-Software\Diagnose-Software\CuStOmEr\CuStOmErSetup\SolutionPostbuild.cmd" "$(SolutionDir)BuildOutput\$(Configuration)" "$(SolutionDir)..\..\Techn_Bearb\SW\SW_Komponenten\PC-Software\Diagnose-Software" "$(ConfigurationName)""

Log Output V0.6.3:

#!bash

06.08.2014 10:01:32 [INFO]: cmd.exe /C ""..\..\..\..\..\..\..\Solutions\CuStOmEr Full\..\..\Techn_Bearb\SW\SW_Komponenten\PC-Software\Diagnose-Software\CuStOmEr\CuStOmErSetup\SolutionPostbuild.cmd" "..\..\..\..\..\..\..\Solutions\CuStOmEr Full\BuildOutput\Debug" "..\..\..\..\..\..\..\Solutions\CuStOmEr Full\..\..\Techn_Bearb\SW\SW_Komponenten\PC-Software\Diagnose-Software" "Debug""

Log Output V0.6.0:

#!bash

06.08.2014 09:58:04 [INFO]: cmd.exe /C ""C:\Projects\CuStOmEr\Solutions\CuStOmEr Full\..\..\Techn_Bearb\SW\SW_Komponenten\PC-Software\Diagnose-Software\CuStOmEr\CuStOmErSetup\SolutionPostbuild.cmd" "C:\Projects\CuStOmEr\Solutions\CuStOmEr Full\BuildOutput\Debug" "C:\Projects\CuStOmEr\Solutions\CuStOmEr Full\..\..\Techn_Bearb\SW\SW_Komponenten\PC-Software\Diagnose-Software" "Debug""

We have the following structure for our projects

<Repository Folder>
    Solutions
        Solution1
            Solution1.sln
            ...
        Solution2
            Solution2.sln
            ...
    Techn_Bearb
        <Projects in different directory depths>

Actions only for a specific configuration of solution

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


Need a support to handle events only for selected configuration. For example:

  • DTE operations (currently there are no variants) -> run all test on old VS2010 (where not present this option as 2012 or 2013) only if selected the Release configuration etc.
  • Files & Interpreter modes - only with another handling i.e.: <script> $(Configuration)

Update support of VS2017

Continuation of #36

Any pull requests are welcome to support: VS2010, VS2012, VS2013, VS2015, VS2017

v0.12.8+, obsolete:

NEW: Started support of Visual Studio 15 /tested on Enterprise Preview 4 (25618.00)

New replies:

More details about the changes to VS extensibility for VS 2017 can be found here:

https://blogs.msdn.microsoft.com/visualstudio/2016/11/10/extensibility-in-visual-studio-15-increasing-reliability-and-performance/

Technical details on the extensibility changes for VS 2017 can be found here:

https://docs.microsoft.com/en-us/visualstudio/extensibility/what-s-new-in-the-visual-studio-2017-sdk

Thanks,

  • The Visual Studio Team

More details about the changes to VS extensibility for VS 2017 can be found here:

:) I see my extension in your screenshot

Good ! but trivial question:

How to distribute my packages for older VS which understand only VSIXv1 ?
I mean: "minimal install will contain just the core editor" - really cool, but how to continue support all VS versions [which already supports this] perfectly ?

well, I still need answer/suggestions:

should I finally stop support of VS2010 or provide 2 or 3 variant of my package for each version of Visual Studio ?!
or there are more ways ?

Seems I need configure project to compile this for several versions and then create new pages in your new marketplace for all this, with new vsix ID -_-

here https://docs.microsoft.com/en-us/visualstudio/extensibility/how-to-migrate-extensibility-projects-to-visual-studio-2017
I see new doc. for how to upgrade from VSIX v2 to VSIX v3, later I will try it. Thanks.

Interrupt a build with pre-build event script

I have a windows batch script and also a powershelI script, both running during a solution pre-build event. These scripts are responsible for checking some pre-conditions before proceeding with the solution build.
In some cases were these conditions are not satisfied, I would like to stop/block the build process and show an error on Visual Studio's Output Window.
I've been trying hard to find the right scripting commands for vsSolutionBuildEvent, but no success yet... Would you please tell me if that is possible to achieve, and which commands/settings should I use for that?

installer fails if Atmel studio is installed on computer

I have both Visual studio 2017 and Atmel Studio 7 installed. When I try to update vsSolutionBuildEvent I get an error that 'This extension is not installable on any currently installed products.' You can download Atmel studio from https://www.microchip.com/mplab/avr-support/atmel-studio-7 Installation log follows:

    1. 2019 13:58:48 - Microsoft VSIX Installer
    1. 2019 13:58:48 - -------------------------------------------
    1. 2019 13:58:49 - Initializing Install...
    1. 2019 13:58:49 - Extension Details...
    1. 2019 13:58:49 - Identifier : 94ecd13f-15f3-4f51-9afd-17f0275c6266
    1. 2019 13:58:49 - Name : vsSolutionBuildEvent
    1. 2019 13:58:49 - Author : GitHub3F
    1. 2019 13:58:49 - Version : 1.14.0
    1. 2019 13:58:49 - Description : Event-Catcher with variety of advanced Actions to service projects, libraries, the build processes and processes at runtime from VisualStudio and MSBuild Tools.
    1. 2019 13:58:49 - Locale : en-US
    1. 2019 13:58:49 - MoreInfoURL : https://github.com/3F/vsSolutionBuildEvent
    1. 2019 13:58:49 - InstalledByMSI : False
    1. 2019 13:58:49 - SupportedFrameworkVersionRange : [4.0,)
    1. 2019 13:58:49 -
    1. 2019 13:58:49 - Supported Products :
    1. 2019 13:58:49 - Microsoft.VisualStudio.Ultimate
    1. 2019 13:58:49 - Version : [10.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Ultimate
    1. 2019 13:58:49 - Version : [11.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Ultimate
    1. 2019 13:58:49 - Version : [12.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Ultimate
    1. 2019 13:58:49 - Version : [14.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Ultimate
    1. 2019 13:58:49 - Version : [15.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Premium
    1. 2019 13:58:49 - Version : [10.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Premium
    1. 2019 13:58:49 - Version : [11.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Premium
    1. 2019 13:58:49 - Version : [12.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Premium
    1. 2019 13:58:49 - Version : [14.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Premium
    1. 2019 13:58:49 - Version : [15.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Pro
    1. 2019 13:58:49 - Version : [10.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Pro
    1. 2019 13:58:49 - Version : [11.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Pro
    1. 2019 13:58:49 - Version : [12.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Pro
    1. 2019 13:58:49 - Version : [14.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Pro
    1. 2019 13:58:49 - Version : [15.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.IntegratedShell
    1. 2019 13:58:49 - Version : [10.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.IntegratedShell
    1. 2019 13:58:49 - Version : [11.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.IntegratedShell
    1. 2019 13:58:49 - Version : [12.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.IntegratedShell
    1. 2019 13:58:49 - Version : [14.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.IntegratedShell
    1. 2019 13:58:49 - Version : [15.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Community
    1. 2019 13:58:49 - Version : [12.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Community
    1. 2019 13:58:49 - Version : [14.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Community
    1. 2019 13:58:49 - Version : [15.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Enterprise
    1. 2019 13:58:49 - Version : [12.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Enterprise
    1. 2019 13:58:49 - Version : [14.0]
    1. 2019 13:58:49 - Microsoft.VisualStudio.Enterprise
    1. 2019 13:58:49 - Version : [15.0]
    1. 2019 13:58:49 -
    1. 2019 13:58:49 - References :
    1. 2019 13:58:49 - -------------------------------------------------------
    1. 2019 13:58:49 - Identifier : Microsoft.VisualStudio.MPF
    1. 2019 13:58:49 - Name : Visual Studio MPF
    1. 2019 13:58:49 - Version : [10.0,)
    1. 2019 13:58:49 - MoreInfoURL :
    1. 2019 13:58:49 - Nested : No
    1. 2019 13:58:49 -
    1. 2019 13:58:49 -
    1. 2019 13:58:49 - Searching for applicable products...
    1. 2019 13:58:49 - Found installed product - Global Location
    1. 2019 13:58:49 - Found installed product - AtmelStudio
    1. 2019 13:58:49 - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
      at VSIXInstaller.App.InitializeInstall(Boolean isRepairSupported)
      at VSIXInstaller.App.InitializeInstall()
      at System.Threading.Tasks.Task.InnerInvoke()
      at System.Threading.Tasks.Task.Execute()

Plugin not loading on project creation

Originally reported by: Rafael Cossovan (Bitbucket: navossoc, GitHub: navossoc)


Me again, another issue...
My setup is: VS Pro 2013 Update 2 + WDK 8.1 and Windows 8.1 Pro Update 1 x64.

Tested on vsSolutionBuildEvent v0.6 (stable) and 0.6.0.7001 (latest beta).

Steps to reproduce:

  1. Close all instances of VS.
  2. Open VS.
  3. Create a new Project (C++ -> Win32 -> Console) (Win32 works too)
  4. Just finish the wizard.
  5. Wait the project loads.
  6. Look the menu "Builds"
  7. Events Solution will not be loaded (option missing)
  8. Try to build the solution (ctrl+shift+b)
  9. Crashes ;)
  10. Restart VS and try again, now it works properly.

Note: Seems that other types of projects are not afected by it, just C++. Not sure, need more tests.

The output windows stops on:

31/07/2014 11:55:43 [TRACE]: Entering Initialize() of: net.r_eg.vsSBE.vsSolutionBuildEventPackage

He never reachs the next event:

#!

31/07/2014 11:55:44 [INFO]: Initialize with new settings

Crash dump log attached.
If you need more information, just ask.


Pre-Build error: An equivalent project (a project with the same global properties and tools version) is already present in the project collection

Hi.

Thank you for vsSBE.

I receive the following error during a build:

7268 [ERROR]: Pre-Build error: An equivalent project (a project with the same global properties and tools version) is already present in the project collection, with the path "C:\dev\App\Project\project.vcxproj". To load an equivalent into this project collection, unload this project first.

.vssbe

{
  "Header": {
    "_": [
      " Current file requires a vsSolutionBuildEvent engine.",
      " Free plugin for Visual Studio or MSBuild Tools:",
      "  * http://visualstudiogallery.msdn.microsoft.com/0d1dbfd7-ed8a-40af-ae39-281bfeca2334/",
      "  * http://vssbe.r-eg.net",
      " Feedback: [email protected]"
    ],
    "Compatibility": "0.9"
  },
  "Components": [
    {
      "ClassName": "InternalComponent",
      "Enabled": true
    },
    {
      "ClassName": "UserVariableComponent",
      "Enabled": true
    },
    {
      "ClassName": "OWPComponent",
      "Enabled": true
    },
    {
      "ClassName": "NuGetComponent",
      "Enabled": true
    },
    {
      "ClassName": "FunctionComponent",
      "Enabled": true
    },
    {
      "ClassName": "FileComponent",
      "Enabled": true
    },
    {
      "ClassName": "DTEComponent",
      "Enabled": true
    },
    {
      "ClassName": "BuildComponent",
      "Enabled": true
    },
    {
      "ClassName": "SevenZipComponent",
      "Enabled": true
    },
    {
      "ClassName": "ConditionComponent",
      "Enabled": true
    },
    {
      "ClassName": "MSBuildComponent",
      "Enabled": true
    },
    {
      "ClassName": "CommentComponent",
      "Enabled": true
    }
  ],
  "PreBuild": [
    {
      "Enabled": true,
      "Name": "Act",
      "Caption": "",
      "SupportMSBuild": true,
      "SupportSBEScripts": true,
      "IgnoreIfBuildFailed": false,
      "BuildType": "Common",
      "Confirmation": false,
      "ToConfiguration": [],
      "ExecutionOrder": {
        "$type": "net.r_eg.vsSBE.Events.ExecutionOrder[], vsSolutionBuildEvent",
        "$values": []
      },
      "Process": {
        "$type": "net.r_eg.vsSBE.Events.EventProcess, vsSolutionBuildEvent",
        "Waiting": true,
        "Hidden": false,
        "TimeLimit": 30
      },
      "Mode": {
        "$type": "net.r_eg.vsSBE.Events.ModeFile, vsSolutionBuildEvent",
        "Type": "File",
        "Command": "\"$(SolutionDir)stop service.cmd\"",
        "Command__": [
          "\"$(SolutionDir)stop service.cmd\""
        ]
      }
    }
  ],
  "PostBuild": [],
  "CancelBuild": [],
  "WarningsBuild": [],
  "ErrorsBuild": [],
  "OWPBuild": [],
  "Transmitter": [],
  "CommandEvent": [],
  "Logging": [],
  "SlnOpened": [],
  "SlnClosed": []
}

Windows 10 64-bit
Visual Studio 2015 Update 3
vsSBE v0.12.10.10901

#31: [v0.12.5] bug with configuration for Isolated Environments (CI.MSBuild, Devenv, etc.)

Originally reported by: Denis Kuzmin (Bitbucket: 3F, GitHub: 3F)


Found bug in v0.12.5

Problem with configuration for Isolated and other external Environments (CI.MSBuild, Devenv, etc.)

Symptoms:

  • Failed Solution.Pre-binding: 'Object reference not set to an instance of an object.'
  • Failed build-raw: 'Object reference not set to an instance of an object.'

For Visual Studio users should be ok

My patch for resolving problem:

030de0118b71303dc4f5b27d52907c80a82b3f60
 vsSolutionBuildEvent/API/EventLevel.cs              | 10 ++++++++--
 vsSolutionBuildEvent/UI/WForms/EventsFrm.cs         |  2 +-
 vsSolutionBuildEvent/vsSolutionBuildEventPackage.cs |  1 -
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/vsSolutionBuildEvent/API/EventLevel.cs b/vsSolutionBuildEvent/API/EventLevel.cs
index c1ef243..afea74f 100644
--- a/vsSolutionBuildEvent/API/EventLevel.cs
+++ b/vsSolutionBuildEvent/API/EventLevel.cs
@@ -24,6 +24,7 @@ using net.r_eg.vsSBE.Bridge;
 using net.r_eg.vsSBE.Bridge.CoreCommand;
 using net.r_eg.vsSBE.Clients;
 using net.r_eg.vsSBE.Configuration;
+using net.r_eg.vsSBE.Exceptions;
 using net.r_eg.vsSBE.SBEScripts;
 using net.r_eg.vsSBE.Scripts;
 using AppSettings = net.r_eg.vsSBE.Settings;
@@ -384,8 +385,12 @@ namespace net.r_eg.vsSBE.API
         /// <returns>If the method succeeds, it returns Codes.Success. If it fails, it returns an error code.</returns>
         public int solutionOpened(object pUnkReserved, int fNewSolution)
         {
-            var config      = (ConfigManager.Config)?? new Config();
-            var userConfig  = (ConfigManager.UserConfig)?? new UserConfig();
+            var config      = ConfigManager.Config;
+            var userConfig  = ConfigManager.UserConfig;
+
+            if(config == null || userConfig == null) {
+                throw new NotFoundException("Config is not ready for loading. User: {0} / Main: {1}", (userConfig != null), (config != null));
+            }

             bool isNew = !config.load(Environment.SolutionPath, Environment.SolutionFileName);
             userConfig.load(config.Link);
@@ -468,6 +473,7 @@ namespace net.r_eg.vsSBE.API
         /// <param name="cfg"></param>
         protected void configure(ISettings cfg)
         {
+            ConfigManager.addAndUse(new Config(), new UserConfig(), ContextType.Static); //TODO: Solution & Common context
             (new Logger.Initializer()).configure();

             // TODO: event with common settings for IEntryPointCore
diff --git a/vsSolutionBuildEvent/UI/WForms/EventsFrm.cs b/vsSolutionBuildEvent/UI/WForms/EventsFrm.cs
index 88a34cf..bfda215 100644
--- a/vsSolutionBuildEvent/UI/WForms/EventsFrm.cs
+++ b/vsSolutionBuildEvent/UI/WForms/EventsFrm.cs
@@ -1040,7 +1040,7 @@ namespace net.r_eg.vsSBE.UI.WForms
         {
             if(!App.IsCfgExists)
             {
-                Log.Fatal("Configuration data is corrupt. User: {0} / Main: {1}", (App.UserConfig == null), (App.Config == null));
+                Log.Fatal("Configuration data is corrupt. User: {0} / Main: {1}", (App.UserConfig != null), (App.Config != null));
                 MessageBox.Show("We can't continue. See details in log.", "Configuration data is corrupt");
                 FormClosing -= EventsFrm_FormClosing;
                 Close();
diff --git a/vsSolutionBuildEvent/vsSolutionBuildEventPackage.cs b/vsSolutionBuildEvent/vsSolutionBuildEventPackage.cs
index 32f3af8..cc857fa 100644
--- a/vsSolutionBuildEvent/vsSolutionBuildEventPackage.cs
+++ b/vsSolutionBuildEvent/vsSolutionBuildEventPackage.cs
@@ -243,7 +243,6 @@ namespace net.r_eg.vsSBE
         {
             var usrCfg = new UserConfig();
             usrCfg.load(usrCfg.getLink(Settings._.CommonPath, Config.Entity.NAME, null));
-            Settings.CfgManager.addAndUse(new Config(), usrCfg, ContextType.Static);

             Event = new API.EventLevel();
             ((IEntryPointCore)Event).load(Dte2, usrCfg.Data.Global.DebugMode);

it's applied in 030de01

  • Binaries of debug version here

Use it before new public release.

Comment if needed


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.