S.T. : . , Build, , . , , , .
. , , CustomLogger.cs. - , , , :
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace CustomLogger
{
public class ScanLogger : Logger
{
public override void Initialize( IEventSource eventSource )
{
eventSource.MessageRaised += ( s, e ) =>
System.Console.WriteLine( "HI THERE - " + e.Message );
}
}
}
Microsoft.CSharp.targets:
<PropertyGroup>
<LoggerDll>Customlogger.dll</LoggerDll>
</PropertyGroup>
<Target Name="BuildCustomLoggerDll">
<Csc Sources="$(MSBuildThisFileDirectory)customlogger.cs"
References="System.dll;mscorlib.dll;Microsoft.Build.Framework.dll;Microsoft.Build.Utilities.v4.0.dll"
TargetType="Library" OutputAssembly="$(MSBuildThisFileDirectory)$(LoggerDll)"/>
</Target>
<Target Name="ActualBuild"
Condition=" '$(_InvalidConfigurationWarning)' != 'true' "
DependsOnTargets="$(BuildDependsOn)"
Returns="$(TargetPath)"/>
<Target Name="Build">
<Exec Command="C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe $(MSBuildThisFile) /t:ActualBuild /noconsolelogger /l:$(MSBuildThisFileDirectory)$(LoggerDll)"/>
</Target>
VS , , Build. , : DLL- BuildCustomLoggerDll, msbuild Exec , . ActualBuild, Build, C:\Program Files (x86)\MSBuild\12.0\Bin\Microsoft.Common.CurrentVersion.targets, , VS2013 # , , , . .