displayName: Publish Symbols
inputs:
filePath: eng\common\sdk-task.ps1
- arguments: -task PublishToSymbolServers -restore -msbuildEngine dotnet -configuration Release
+ arguments: -task PublishToSymbolServers -restore -msbuildEngine dotnet -configuration Release -verbosity detailed
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
/p:BlobBasePath='$(Build.SourcesDirectory)/artifacts/packages/Release/NonShipping'
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<EnableSourceControlManagerQueries>true</EnableSourceControlManagerQueries>
</PropertyGroup>
-
- <PropertyGroup Condition="'$(OS)' == 'Unix'">
- <!-- Disable source link until issue https://github.com/dotnet/roslyn/issues/29289#issuecomment-413294637 is fixed -->
- <EnableSourceLink>false</EnableSourceLink>
- <DeterministicSourcePaths>false</DeterministicSourcePaths>
- <EnableSourceControlManagerQueries>false</EnableSourceControlManagerQueries>
- </PropertyGroup>
</Project>
## Install dotnet-counters
```
-dotnet tool install --global dotnet-counters --version 3.0.0-preview9.19454.1
+dotnet tool install --global dotnet-counters
```
The first step is to install the dotnet-dump CLI global tool. This requires at least the 2.1 or greater .NET Core SDK to be installed. If you see the error message `Tool 'dotnet-dump' is already installed`, you will need to uninstall the global tool (see below).
- $ dotnet tool install -g dotnet-dump --version 3.0.0-preview9.19454.1
+ $ dotnet tool install -g dotnet-dump
You can invoke the tool using the following command: dotnet-dump
- Tool 'dotnet-dump' (version '3.0.0-preview9.19454.1') was successfully installed.
+ Tool 'dotnet-dump' (version '3.0.0.47001') was successfully installed.
If this is the first global tool installed or you get message `Could not execute because the specified command or file was not found.` you need to add `$HOME/.dotnet/tools` to your path.
## Uninstalling dotnet-dump
$ dotnet tool uninstall -g dotnet-dump
- Tool 'dotnet-dump' (version '3.0.0-preview9.19454.1') was successfully uninstalled.
+ Tool 'dotnet-dump' (version '3.0.0.47001') was successfully uninstalled.
The first step is to install the dotnet-trace CLI global tool.
```cmd
-$ dotnet tool install --global dotnet-trace --version 3.0.0-preview9.19454.1
+$ dotnet tool install --global dotnet-trace
You can invoke the tool using the following command: dotnet-trace
-Tool 'dotnet-trace' (version '3.0.0-preview9.19454.1') was successfully installed.
+Tool 'dotnet-trace' (version '3.0.0.47001') was successfully installed.
```
## Using dotnet-trace
The first step is to install the dotnet-sos CLI global tool. This requires at least the 2.1 or greater .NET Core SDK to be installed. If you see the error message `Tool 'dotnet-sos' is already installed`, you will need to uninstall the global tool (see below).
- $ dotnet tool install -g dotnet-sos --version 3.0.0-preview9.19454.1
+ $ dotnet tool install -g dotnet-sos
You can invoke the tool using the following command: dotnet-sos
- Tool 'dotnet-sos' (version '3.0.0-preview9.19454.1') was successfully installed.
+ Tool 'dotnet-sos' (version '3.0.0.47001') was successfully installed.
The next step is use this global tool to install SOS.
$ dotnet-sos install
- Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/3.0.0-preview9.19454.1/dotnet-sos/3.0.0-preview9.19454.1/tools/netcoreapp2.1/any/linux-x64
+ Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/3.0.0.47001/dotnet-sos/3.0.0.47001/tools/netcoreapp2.1/any/linux-x64
Creating installation directory...
Copying files...
Updating existing /home/mikem/.lldbinit file - LLDB will load SOS automatically at startup
The installer needs to be run again:
$ dotnet-sos install
- Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/3.0.0-preview9.19454.1/dotnet-sos/3.0.0-preview9.19454.1/tools/netcoreapp2.1/any/linux-x64
+ Installing SOS to /home/mikem/.dotnet/sos from /home/mikem/.dotnet/tools/.store/dotnet-sos/3.0.0.47001/dotnet-sos/3.0.0.47001/tools/netcoreapp2.1/any/linux-x64
Installing over existing installation...
Creating installation directory...
Copying files...
To remove the SOS installer global tool:
$ dotnet tool uninstall -g dotnet-sos
- Tool 'dotnet-sos' (version '3.0.0-preview9.19454.1') was successfully uninstalled.
+ Tool 'dotnet-sos' (version '3.0.0.47001') was successfully uninstalled.
It is recommended that you update to the newer versions of the Windows debugger, but you can still use the latest SOS with older Windows debuggers by using the dotnet-sos CLI global tool to install. It is not as convenient. You may have to ".unload" the SOS that is loaded from the "runtime" directory.
- C:\Users\mikem>dotnet tool install -g dotnet-sos --version 3.0.0-preview9.19454.1
+ C:\Users\mikem>dotnet tool install -g dotnet-sos
You can invoke the tool using the following command: dotnet-sos
- Tool 'dotnet-sos' (version '3.0.0-preview9.19454.1') was successfully installed.
+ Tool 'dotnet-sos' (version '3.0.0.47001') was successfully installed.
Run the installer:
C:\Users\mikem>dotnet-sos install
- Installing SOS to C:\Users\mikem\.dotnet\sos from C:\Users\mikem\.dotnet\tools\.store\dotnet-sos\3.0.0-preview9.19454.1\dotnet-sos\3.0.0-preview9.19454.1\tools\netcoreapp2.1\any\win-x64
+ Installing SOS to C:\Users\mikem\.dotnet\sos from C:\Users\mikem\.dotnet\tools\.store\dotnet-sos\3.0.0.47001\dotnet-sos\3.0.0.47001\tools\netcoreapp2.1\any\win-x64
Creating installation directory...
Copying files...
Execute '.load C:\Users\mikem\.dotnet\sos\sos.dll' to load SOS in your Windows debugger.
In the .NET full/Windows world, we have a myriad of performance counters that can be used to triage and diagnose production issues. For .Net core we have a similar and cross platform story centered around a tool called dotnet-counters. To install the tool, run the following command:
> ```bash
-> dotnet tool install --global dotnet-counters --version 3.0.0-preview9.19454.1
+> dotnet tool install --global dotnet-counters
> ```
.NET core includes what is called the 'EventPipe' through which diagnostics data is exposed. The dotnet-trace tool allows you to consume interesting profiling data from your app that can help in scenarios where you need to root cause apps running slow. To install the tool, run the following command:
> ```bash
-> dotnet tool install --global dotnet-trace --version 3.0.0-preview9.19454.1
+> dotnet tool install --global dotnet-trace
> ```
In order to generate core dumps for .net core apps, you can use the dotnet-dump tool. To install the tool, run the following command:
> ```bash
-> dotnet tool install --global dotnet-dump --version 3.0.0-preview9.19454.1
+> dotnet tool install --global dotnet-dump
> ```
if not exist "%__CrossCompIntermediatesDir%" md "%__CrossCompIntermediatesDir%"
echo Generating Version Header
+ set __GenerateVersionRestoreLog="%__LogDir%\GenerateVersionRestore.binlog"
+ "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.csproj" /v:!__Verbosity! /bl:!__GenerateVersionRestoreLog! /t:Restore /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
+ if not !errorlevel! == 0 (
+ echo Generate Version Restore FAILED
+ exit /b 1
+ )
set __GenerateVersionLog="%__LogDir%\GenerateVersion.binlog"
- "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.proj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__CrossCompIntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
+ "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.csproj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__CrossCompIntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo Generate Version Header FAILED
exit /b 1
)
echo Generating Version Header
+ set __GenerateVersionRestoreLog="%__LogDir%\GenerateVersionRestore.binlog"
+ "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.csproj" /v:!__Verbosity! /bl:!__GenerateVersionRestoreLog! /t:Restore /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
+ if not !errorlevel! == 0 (
+ echo Generate Version Restore FAILED
+ exit /b 1
+ )
set __GenerateVersionLog="%__LogDir%\GenerateVersion.binlog"
- "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.proj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__IntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
+ "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.csproj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__IntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo Generate Version Header FAILED
exit /b 1
--- /dev/null
+<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>netcoreapp2.0</TargetFramework>
+ </PropertyGroup>
+
+ <Target Name="GenerateVersionFiles" DependsOnTargets="GenerateVersionHeader;GenerateVersionSourceFile" />
+
+ <Target Name="GenerateVersionHeader" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionHeaderFile)' != '' and '$(GenerateVersionHeader)' == 'true' and !Exists($(NativeVersionHeaderFile))">
+
+ <Error Message="VersionSuffixDateStamp is missing" Condition="'$(VersionSuffixDateStamp)' == ''" />
+
+ <PropertyGroup>
+ <ProductVersion>$(FileVersion.Replace(".", ","))</ProductVersion>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <NativeVersionLines>
+<![CDATA[
+#ifndef VER_COMPANYNAME_STR
+#define VER_COMPANYNAME_STR "Microsoft Corporation"
+#endif
+#ifndef VER_PRODUCTNAME_STR
+#define VER_PRODUCTNAME_STR "Microsoft\xae .NET Framework"
+#endif
+#undef VER_PRODUCTVERSION
+#define VER_PRODUCTVERSION $(ProductVersion)
+#undef VER_PRODUCTVERSION_STR
+#define VER_PRODUCTVERSION_STR "$(InformationalVersion)"
+#undef VER_FILEVERSION
+#define VER_FILEVERSION $(ProductVersion)
+#undef VER_FILEVERSION_STR
+#define VER_FILEVERSION_STR "$(FileVersion)"
+#ifndef VER_LEGALCOPYRIGHT_STR
+#define VER_LEGALCOPYRIGHT_STR "\xa9 Microsoft Corporation. All rights reserved."
+#endif
+]]>
+ </NativeVersionLines>
+ </PropertyGroup>
+
+ <WriteLinesToFile File="$(NativeVersionHeaderFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
+
+ <ItemGroup>
+ <FileWrites Include="$(NativeVersionHeaderFile)" />
+ </ItemGroup>
+
+ <Message Importance="High" Text="Created version file $(NativeVersionHeaderFile)" />
+ </Target>
+
+ <!-- Non Windows versioning requires to generate a source file and include it on the compilation. -->
+ <Target Name="GenerateVersionSourceFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionSourceFile)' != '' and '$(GenerateVersionSourceFile)' == 'true' and !Exists($(NativeVersionHeaderFile))">
+
+ <!-- Get Username -->
+ <PropertyGroup>
+ <VersionUserName Condition="'$(VersionUserName)' == ''">$(USERNAME)</VersionUserName>
+ </PropertyGroup>
+
+ <Exec Command="whoami" Condition="'$(VersionUserName)' == ''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
+ <Output TaskParameter="ConsoleOutput" PropertyName="VersionUserName" />
+ </Exec>
+
+ <!-- Get Hostname -->
+ <PropertyGroup>
+ <VersionHostName Condition="'$(VersionHostName)' == ''">$(COMPUTERNAME)</VersionHostName>
+ </PropertyGroup>
+
+ <Exec Command="hostname" Condition="'$(RunningOnUnix)'=='true' AND '$(VersionHostName)'==''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
+ <Output TaskParameter="ConsoleOutput" PropertyName="VersionHostName" />
+ </Exec>
+
+ <PropertyGroup>
+ <BuiltByString Condition="'$(VersionUserName)' != '' AND '$(VersionHostName)' != ''">$(BuiltByString) %40BuiltBy: $(VersionUserName)-$(VersionHostName)</BuiltByString>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <NativeVersionLines>
+<![CDATA[
+static char sccsid[] __attribute__((used)) = "@(#)Version $(InformationalVersion)$(BuiltByString)";
+ ]]>
+ </NativeVersionLines>
+ </PropertyGroup>
+
+ <WriteLinesToFile File="$(NativeVersionSourceFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
+
+ <ItemGroup>
+ <FileWrites Include="$(NativeVersionSourceFile)" />
+ </ItemGroup>
+
+ <Message Importance="High" Text="Created version file $(NativeVersionSourceFile)" />
+ </Target>
+</Project>
+++ /dev/null
-<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFramework>netcoreapp2.0</TargetFramework>
- </PropertyGroup>
-
- <Target Name="GenerateVersionFiles" DependsOnTargets="GenerateVersionHeader;GenerateVersionSourceFile" />
-
- <Target Name="GenerateVersionHeader" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionHeaderFile)' != '' and '$(GenerateVersionHeader)' == 'true' and !Exists($(NativeVersionHeaderFile))">
-
- <Error Message="VersionSuffixDateStamp is missing" Condition="'$(VersionSuffixDateStamp)' == ''" />
-
- <PropertyGroup>
- <ProductVersion>$(FileVersion.Replace(".", ","))</ProductVersion>
- </PropertyGroup>
-
- <PropertyGroup>
- <NativeVersionLines>
-<![CDATA[
-#ifndef VER_COMPANYNAME_STR
-#define VER_COMPANYNAME_STR "Microsoft Corporation"
-#endif
-#ifndef VER_PRODUCTNAME_STR
-#define VER_PRODUCTNAME_STR "Microsoft\xae .NET Framework"
-#endif
-#undef VER_PRODUCTVERSION
-#define VER_PRODUCTVERSION $(ProductVersion)
-#undef VER_PRODUCTVERSION_STR
-#define VER_PRODUCTVERSION_STR "$(InformationalVersion)"
-#undef VER_FILEVERSION
-#define VER_FILEVERSION $(ProductVersion)
-#undef VER_FILEVERSION_STR
-#define VER_FILEVERSION_STR "$(FileVersion)"
-#ifndef VER_LEGALCOPYRIGHT_STR
-#define VER_LEGALCOPYRIGHT_STR "\xa9 Microsoft Corporation. All rights reserved."
-#endif
-]]>
- </NativeVersionLines>
- </PropertyGroup>
-
- <WriteLinesToFile File="$(NativeVersionHeaderFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
-
- <ItemGroup>
- <FileWrites Include="$(NativeVersionHeaderFile)" />
- </ItemGroup>
-
- <Message Importance="High" Text="Created version file $(NativeVersionHeaderFile)" />
- </Target>
-
- <!-- Non Windows versioning requires to generate a source file and include it on the compilation. -->
- <Target Name="GenerateVersionSourceFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionSourceFile)' != '' and '$(GenerateVersionSourceFile)' == 'true' and !Exists($(NativeVersionHeaderFile))">
-
- <!-- Get Username -->
- <PropertyGroup>
- <VersionUserName Condition="'$(VersionUserName)' == ''">$(USERNAME)</VersionUserName>
- </PropertyGroup>
-
- <Exec Command="whoami" Condition="'$(VersionUserName)' == ''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
- <Output TaskParameter="ConsoleOutput" PropertyName="VersionUserName" />
- </Exec>
-
- <!-- Get Hostname -->
- <PropertyGroup>
- <VersionHostName Condition="'$(VersionHostName)' == ''">$(COMPUTERNAME)</VersionHostName>
- </PropertyGroup>
-
- <Exec Command="hostname" Condition="'$(RunningOnUnix)'=='true' AND '$(VersionHostName)'==''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
- <Output TaskParameter="ConsoleOutput" PropertyName="VersionHostName" />
- </Exec>
-
- <PropertyGroup>
- <BuiltByString Condition="'$(VersionUserName)' != '' AND '$(VersionHostName)' != ''">$(BuiltByString) %40BuiltBy: $(VersionUserName)-$(VersionHostName)</BuiltByString>
- </PropertyGroup>
-
- <PropertyGroup>
- <NativeVersionLines>
-<![CDATA[
-static char sccsid[] __attribute__((used)) = "@(#)Version $(InformationalVersion)$(BuiltByString)";
- ]]>
- </NativeVersionLines>
- </PropertyGroup>
-
- <WriteLinesToFile File="$(NativeVersionSourceFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
-
- <ItemGroup>
- <FileWrites Include="$(NativeVersionSourceFile)" />
- </ItemGroup>
-
- <Message Importance="High" Text="Created version file $(NativeVersionSourceFile)" />
- </Target>
-</Project>
<Project>
<PropertyGroup>
<RepositoryUrl>https://github.com/dotnet/diagnostics</RepositoryUrl>
- <PreReleaseVersionLabel>rc1</PreReleaseVersionLabel>
+ <PreReleaseVersionLabel></PreReleaseVersionLabel>
<VersionPrefix>3.0.0</VersionPrefix>
<DotNetUseShippingVersions>true</DotNetUseShippingVersions>
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
if [ $__Build == true ]; then
if [[ $__CI == true ]]; then
echo "Generating Version Source File"
+ __GenerateVersionRestoreLog="$__LogDir/GenerateVersionRestore.binlog"
+ $__DotNetCli msbuild $__ProjectRoot/eng/CreateVersionFile.csproj /v:$__Verbosity /bl:$__GenerateVersionRestoreLog /t:Restore /p:Configuration="$__BuildType" /p:Platform="$__BuildArch" $__UnprocessedBuildArgs
+
__GenerateVersionLog="$__LogDir/GenerateVersion.binlog"
- $__DotNetCli msbuild $__ProjectRoot/eng/CreateVersionFile.proj /v:$__Verbosity /bl:$__GenerateVersionLog /t:GenerateVersionFiles /p:GenerateVersionSourceFile=true /p:NativeVersionSourceFile="$__IntermediatesDir/version.cpp" /p:Configuration="$__BuildType" /p:Platform="$__BuildArch" $__UnprocessedBuildArgs
+ $__DotNetCli msbuild $__ProjectRoot/eng/CreateVersionFile.csproj /v:$__Verbosity /bl:$__GenerateVersionLog /t:GenerateVersionFiles /p:GenerateVersionSourceFile=true /p:NativeVersionSourceFile="$__IntermediatesDir/version.cpp" /p:Configuration="$__BuildType" /p:Platform="$__BuildArch" $__UnprocessedBuildArgs
if [ $? != 0 ]; then
echo "Generating Version Source File FAILED"
exit 1