Build WinDBG extension package
This commit is contained in:
Родитель
c95c03eba0
Коммит
0b11606f17
|
@ -11,9 +11,9 @@ if (Test-Path $PackagesRoot) {
|
|||
$result[$PackagesRoot] = (Get-ChildItem $PackagesRoot -Recurse)
|
||||
}
|
||||
|
||||
if (Test-Path "$RepoRoot/bin/SosThreadingTools") {
|
||||
$result["$RepoRoot/bin/SosThreadingTools/x86/$BuildConfiguration/net472"] = "$RepoRoot/bin/SosThreadingTools/x86/$BuildConfiguration/net472/SosThreadingTools_x86.dll";
|
||||
$result["$RepoRoot/bin/SosThreadingTools/x64/$BuildConfiguration/net472"] = "$RepoRoot/bin/SosThreadingTools/x64/$BuildConfiguration/net472/SosThreadingTools_x64.dll";
|
||||
$SosThreadingToolsRoot = "$RepoRoot/bin/SosThreadingTools/$BuildConfiguration/net472"
|
||||
if (Test-Path $SosThreadingToolsRoot) {
|
||||
$result[$SosThreadingToolsRoot] = (Get-ChildItem "$SosThreadingToolsRoot/SosThreadingTools.dll" -Recurse)
|
||||
}
|
||||
|
||||
$result
|
|
@ -9,23 +9,7 @@ steps:
|
|||
displayName: Build Visual Studio solution
|
||||
condition: eq(variables['Agent.OS'], 'Windows_NT')
|
||||
|
||||
- task: VSBuild@1
|
||||
inputs:
|
||||
msbuildArgs: /t:build /m /bl:"$(Build.ArtifactStagingDirectory)/build_logs/msbuild_x86.binlog"
|
||||
platform: x86
|
||||
configuration: $(BuildConfiguration)
|
||||
displayName: Build SosThreadingTools x86
|
||||
condition: eq(variables['Agent.OS'], 'Windows_NT')
|
||||
|
||||
- task: VSBuild@1
|
||||
inputs:
|
||||
msbuildArgs: /t:build /m /bl:"$(Build.ArtifactStagingDirectory)/build_logs/msbuild_x64.binlog"
|
||||
platform: x64
|
||||
configuration: $(BuildConfiguration)
|
||||
displayName: Build SosThreadingTools x64
|
||||
condition: eq(variables['Agent.OS'], 'Windows_NT')
|
||||
|
||||
- script: dotnet build /t:build,pack --no-restore -c $(BuildConfiguration) /v:m /bl:"$(Build.ArtifactStagingDirectory)/build_logs/build.binlog"
|
||||
- script: dotnet build /t:build,pack --no-restore -c $(BuildConfiguration) /p:Platform=NonWindows /v:m /bl:"$(Build.ArtifactStagingDirectory)/build_logs/build.binlog"
|
||||
displayName: dotnet build and pack
|
||||
workingDirectory: src
|
||||
condition: ne(variables['Agent.OS'], 'Windows_NT')
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{
|
||||
"sdk": {
|
||||
"version": "3.0.100"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"MSBuild.Sdk.Extras": "2.0.54"
|
||||
}
|
||||
}
|
||||
|
|
2
init.ps1
2
init.ps1
|
@ -55,8 +55,6 @@ try {
|
|||
if (!$NoRestore) {
|
||||
Write-Host "Restoring NuGet packages" -ForegroundColor $HeaderColor
|
||||
dotnet restore src
|
||||
dotnet restore src /p:platform=x64
|
||||
dotnet restore src /p:platform=x86
|
||||
if ($lastexitcode -ne 0) {
|
||||
throw "Failure while restoring packages."
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ indent_style = space
|
|||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.xml]
|
||||
[*.{xml,targets,props}]
|
||||
indent_size = 2
|
||||
|
||||
[*.cs]
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
<MicroBuildVersion>2.0.58</MicroBuildVersion>
|
||||
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
||||
|
||||
<Authors>Microsoft</Authors>
|
||||
<Owners>Microsoft, VisualStudioExtensibility</Owners>
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<!-- Analyzers should not be added to the lib folder. -->
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
|
||||
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);PackBuildOutputs</TargetsForTfmSpecificContentInPackage>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -34,79 +34,73 @@ EndProject
|
|||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Debug|NonWindows = Debug|NonWindows
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Release|NonWindows = Release|NonWindows
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{536F3F9A-B457-43B8-BC93-CE1C16959037}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{620ED702-B6DA-4454-BF3E-5494D3652724}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{4961AA84-088C-46C0-BAC0-F9E87A9F03A7}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{D9BB9FB6-3833-44E8-B7A7-DE729FCE214D}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{CBEDB102-ABAE-40B1-AF3F-A6226DB6713D}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{BA4643D8-E6B2-4DED-882F-4827F3AB6AB0}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Debug|NonWindows.Build.0 = Debug|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|x64.Build.0 = Debug|x64
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|x86.Build.0 = Debug|x86
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|x64.ActiveCfg = Release|x64
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|x64.Build.0 = Release|x64
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|x86.ActiveCfg = Release|x86
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|x86.Build.0 = Release|x86
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
{3BDB8F46-A39C-422B-8B0E-89E98B83073F}.Release|NonWindows.Build.0 = Release|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Debug|NonWindows.ActiveCfg = Debug|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7177DEEE-D14D-4A4A-BF6E-8B0CDC26B624}.Release|NonWindows.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace CpsDbg
|
|||
commandHandlers.Add("dumpasync", new DumpAsyncCommand());
|
||||
}
|
||||
|
||||
[DllExport(DumpAsyncCommand)]
|
||||
[DllExport(DumpAsyncCommand, CallingConvention.StdCall)]
|
||||
internal static void DumpAsync(IntPtr client, [MarshalAs(UnmanagedType.LPStr)] string args)
|
||||
{
|
||||
ExecuteCommand(client, DumpAsyncCommand, args);
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace CpsDbg
|
|||
|
||||
internal static class ExtensionContext
|
||||
{
|
||||
[DllExport(nameof(DebugExtensionInitialize))]
|
||||
[DllExport(nameof(DebugExtensionInitialize), CallingConvention.StdCall)]
|
||||
internal static int DebugExtensionInitialize(ref uint version, ref uint flags)
|
||||
{
|
||||
// Set the extension version to 1, which expects exports with this signature:
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ExtensionPackage>
|
||||
<Name>SosThreadingTools</Name>
|
||||
<Description>Contains the !dumpasync extension for use with .NET Framework processes</Description>
|
||||
<Version>$Version$</Version>
|
||||
<Components>
|
||||
<BinaryComponent Type="Engine" Name="SosThreadingTools">
|
||||
<Files>
|
||||
<File Architecture="x86" Module="tools\win-x86\SosThreadingTools.dll" />
|
||||
<File Architecture="amd64" Module="tools\win-x64\SosThreadingTools.dll" />
|
||||
</Files>
|
||||
<EngineCommands>
|
||||
<EngineCommand Name="dumpasync">
|
||||
<EngineCommandItem>
|
||||
<Syntax>!dumpasync</Syntax>
|
||||
<Description>Dump all async state machines and logical stacks in a .NET Framework process.</Description>
|
||||
</EngineCommandItem>
|
||||
</EngineCommand>
|
||||
</EngineCommands>
|
||||
</BinaryComponent>
|
||||
</Components>
|
||||
</ExtensionPackage>
|
|
@ -1,18 +1,30 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="MSBuild.Sdk.Extras">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net472</TargetFramework>
|
||||
<AssemblyName>$(MSBuildProjectName)_$(Platform)</AssemblyName>
|
||||
<IsPackable>false</IsPackable>
|
||||
<Platforms>x86;x64</Platforms>
|
||||
<TargetFrameworks>net472</TargetFrameworks>
|
||||
<RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
|
||||
<ExtrasBuildEachRuntimeIdentifier>true</ExtrasBuildEachRuntimeIdentifier>
|
||||
|
||||
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
|
||||
<CodeAnalysisRuleSet>SosThreadingTools.ruleset</CodeAnalysisRuleSet>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DllExportOurILAsm>false</DllExportOurILAsm>
|
||||
|
||||
<Description>A WinDBG extension that contains the !DumpAsync command for .NET Framework processes.</Description>
|
||||
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking>
|
||||
<PackageOutputPath>$(RepoBinPath)Packages\$(Configuration)\WinDBGGallery\</PackageOutputPath>
|
||||
|
||||
<!-- We build a package with legacy PDBs included for the gallery's convenience. -->
|
||||
<DebugType>full</DebugType>
|
||||
<SymbolPackageFormat></SymbolPackageFormat>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Diagnostics.Runtime" Version="1.0.2" />
|
||||
<PackageReference Include="DllExport" Version="1.5.2" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(PkgDllExport)\tools\net.r_eg.DllExport.targets" Condition="Exists('$(PkgDllExport)\tools\net.r_eg.DllExport.targets')" />
|
||||
<Import Project="SosThreadingTools.targets" />
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
<Project>
|
||||
<UsingTask TaskName="ReplaceFileText" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<InputFilename ParameterType="System.String" Required="true" />
|
||||
<OutputFilename ParameterType="System.String" Required="true" />
|
||||
<MatchExpression ParameterType="System.String" Required="true" />
|
||||
<ReplacementText ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Reference Include="System.Core" />
|
||||
<Using Namespace="System" />
|
||||
<Using Namespace="System.IO" />
|
||||
<Using Namespace="System.Text.RegularExpressions" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
File.WriteAllText(
|
||||
OutputFilename,
|
||||
Regex.Replace(File.ReadAllText(InputFilename), MatchExpression, ReplacementText)
|
||||
);
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);PackBuildOutputs</TargetsForTfmSpecificContentInPackage>
|
||||
<GenerateNuspecDependsOn>StampAndIncludeGalleryManifest;$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PackBuildOutputs" DependsOnTargets="DebugSymbolsProjectOutputGroup">
|
||||
<ItemGroup>
|
||||
<TfmSpecificPackageFile Include="$(TargetPath)" PackagePath="tools\$(RuntimeIdentifier)\" />
|
||||
<TfmSpecificPackageFile Include="@(DebugSymbolsProjectOutputGroupOutput->'%(FinalOutputPath)')" PackagePath="symbols\$(RuntimeIdentifier)\" />
|
||||
<TfmSpecificPackageFile Include="$(TargetDir)Microsoft.Diagnostics.Runtime.dll" PackagePath="tools\$(RuntimeIdentifier)\" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
<Target Name="StampAndIncludeGalleryManifest" DependsOnTargets="GetBuildVersion" BeforeTargets="_GetPackageFiles">
|
||||
<ReplaceFileText
|
||||
InputFilename="GalleryManifest.xml"
|
||||
OutputFilename="$(IntermediateOutputPath)GalleryManifest.xml"
|
||||
MatchExpression="\$Version\$"
|
||||
ReplacementText="$(BuildVersion)" />
|
||||
<ItemGroup>
|
||||
<None Include="$(IntermediateOutputPath)GalleryManifest.xml" Pack="true" PackagePath="" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
</Project>
|
Загрузка…
Ссылка в новой задаче