diff --git a/.github/workflows/update-man-pages.yml b/.github/workflows/update-man-pages.yml index 48e2e9bd5706..e20efac37262 100644 --- a/.github/workflows/update-man-pages.yml +++ b/.github/workflows/update-man-pages.yml @@ -1,5 +1,6 @@ name: Update man-pages workflow on: + workflow_dispatch: schedule: - cron: "42 3 1/15 * *" # Trigger every 15 days at 03:42 #- cron: "0,5,10,15,20,25,30,35,40,45,50,55 * * * *" # For testing diff --git a/documentation/manpages/sdk/dotnet-environment-variables.7 b/documentation/manpages/sdk/dotnet-environment-variables.7 index 66e39823015c..fc2c023b0354 100644 --- a/documentation/manpages/sdk/dotnet-environment-variables.7 +++ b/documentation/manpages/sdk/dotnet-environment-variables.7 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-environment-variables" "7" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-environment-variables" "7" "2025-08-29" "" ".NET Documentation" .hy .SH NAME .PP @@ -281,9 +281,26 @@ GitHub issue dotnet/core#7699 (https://github.com/dotnet/core/issues/7699) .IP \[bu] 2 GitHub issue dotnet/runtime#79237 (https://github.com/dotnet/runtime/issues/79237) .PP -This environment variable is used only when running apps via generated executables (apphosts). -\f[V]DOTNET_ROOT(x86)\f[R] is used instead when running a 32-bit executable on a 64-bit OS. -\f[V]DOTNET_ROOT_X64\f[R] is used instead when running a 64-bit executable on an ARM64 OS. +These environment variables are used only when running apps via generated executables (apphosts). +The order in which the environment variables are considered is: +.IP "1." 3 +\f[V]DOTNET_ROOT_\f[R], where \f[V]\f[R] is the architecture of the running executable (apphost). +For example: +.RS 4 +.IP \[bu] 2 +\f[V]DOTNET_ROOT_ARM64\f[R] is used for an Arm64 process. +.IP \[bu] 2 +\f[V]DOTNET_ROOT_X64\f[R] is used for an x64 process. +This process might be running on x64 or Arm64 architecture. +.IP \[bu] 2 +\f[V]DOTNET_ROOT_X86\f[R] is used for an x86 process. +This process might be running on x86 or x64 architecture. +.RE +.IP "2." 3 +\f[V]DOTNET_ROOT(x86)\f[R] is used when a 32-bit process is running on 64-bit Windows. +In other cases, this environment variable is ignored. +.IP "3." 3 +\f[V]DOTNET_ROOT\f[R]. .SS \f[V]DOTNET_HOST_PATH\f[R] .PP Specifies the absolute path to a \f[V]dotnet\f[R] host (\f[V]dotnet.exe\f[R] on Windows, \f[V]dotnet\f[R] on Linux and macOS) that was used to launch the currently-running \f[V]dotnet\f[R] process. @@ -508,18 +525,20 @@ For more information, see Advertising manifests. .PP Specifies whether .NET SDK local tools search for tool manifest files in the root folder on Windows. The default is \f[V]false\f[R]. -.SS \f[V]COREHOST_TRACE\f[R] +.SS \f[V]DOTNET_HOST_TRACE\f[R] +.PP +\f[B]This variable applies to .NET 10 and later versions.\f[R] For older versions, replace the \f[V]DOTNET_HOST_\f[R] prefix with \f[V]COREHOST_\f[R]. .PP Controls diagnostics tracing from the hosting components, such as \f[V]dotnet.exe\f[R], \f[V]hostfxr\f[R], and \f[V]hostpolicy\f[R]. .IP \[bu] 2 -\f[V]COREHOST_TRACE=[0/1]\f[R] - default is \f[V]0\f[R] - tracing disabled. +\f[V]DOTNET_HOST_TRACE=[0/1]\f[R] - default is \f[V]0\f[R] - tracing disabled. If set to \f[V]1\f[R], diagnostics tracing is enabled. .IP \[bu] 2 -\f[V]COREHOST_TRACEFILE=\f[R] - has an effect only if tracing is enabled by setting \f[V]COREHOST_TRACE=1\f[R]. +\f[V]DOTNET_HOST_TRACEFILE=\f[R] - has an effect only if tracing is enabled by setting \f[V]DOTNET_HOST_TRACE=1\f[R]. When set, the tracing information is written to the specified file; otherwise, the trace information is written to \f[V]stderr\f[R]. .IP \[bu] 2 -\f[V]COREHOST_TRACE_VERBOSITY=[1/2/3/4]\f[R] - default is \f[V]4\f[R]. -The setting is used only when tracing is enabled via \f[V]COREHOST_TRACE=1\f[R]. +\f[V]DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4]\f[R] - default is \f[V]4\f[R]. +The setting is used only when tracing is enabled via \f[V]DOTNET_HOST_TRACE=1\f[R]. .RS 2 .IP \[bu] 2 \f[V]4\f[R] - all tracing information is written @@ -531,8 +550,22 @@ The setting is used only when tracing is enabled via \f[V]COREHOST_TRACE=1\f[R]. \f[V]1\f[R] - only error messages are written .RE .PP -The typical way to get detailed trace information about application startup is to set \f[V]COREHOST_TRACE=1\f[R] and\f[V]COREHOST_TRACEFILE=host_trace.txt\f[R] and then run the application. +The typical way to get detailed trace information about application startup is to set \f[V]DOTNET_HOST_TRACE=1\f[R] and \f[V]DOTNET_HOST_TRACEFILE=host_trace.txt\f[R] and then run the application. A new file \f[V]host_trace.txt\f[R] will be created in the current directory with the detailed information. +.SS \f[V]COREHOST_TRACE\f[R] +.PP +Controls diagnostics tracing from the hosting components, such as \f[V]dotnet.exe\f[R], \f[V]hostfxr\f[R], and \f[V]hostpolicy\f[R]. +.RS +.PP +Starting with .NET 10, use the \f[V]DOTNET_HOST_TRACE\f[R] environment variables instead. +The \f[V]COREHOST_TRACE\f[R] variables work the same as \f[V]DOTNET_HOST_TRACE\f[R] variables. +.RE +.IP \[bu] 2 +\f[V]COREHOST_TRACE\f[R] - see \f[V]DOTNET_HOST_TRACE\f[R]. +.IP \[bu] 2 +\f[V]COREHOST_TRACEFILE\f[R] - see \f[V]DOTNET_HOST_TRACEFILE\f[R]. +.IP \[bu] 2 +\f[V]COREHOST_TRACE_VERBOSITY\f[R] - see \f[V]DOTNET_HOST_TRACE_VERBOSITY\f[R]. .SS \f[V]SuppressNETCoreSdkPreviewMessage\f[R] .PP If set to \f[V]true\f[R], invoking \f[V]dotnet\f[R] won\[cq]t produce a warning when a preview SDK is being used. diff --git a/documentation/manpages/sdk/dotnet-msbuild.1 b/documentation/manpages/sdk/dotnet-msbuild.1 index 393234f468f0..b4e843fd29ad 100644 --- a/documentation/manpages/sdk/dotnet-msbuild.1 +++ b/documentation/manpages/sdk/dotnet-msbuild.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-msbuild" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-msbuild" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet msbuild .PP @@ -41,7 +41,6 @@ The options are all the same. For more information about the available options, see the MSBuild command-line reference. .PP The dotnet build command is equivalent to \f[V]dotnet msbuild -restore\f[R]. -When you don\[cq]t want to build the project and you have a specific target you want to run, use \f[V]dotnet build\f[R] or \f[V]dotnet msbuild\f[R] and specify the target. .SH EXAMPLES .IP \[bu] 2 Build a project and its dependencies: diff --git a/documentation/manpages/sdk/dotnet-nuget-locals.1 b/documentation/manpages/sdk/dotnet-nuget-locals.1 index 67d713cf90b9..7425d09f2bfb 100644 --- a/documentation/manpages/sdk/dotnet-nuget-locals.1 +++ b/documentation/manpages/sdk/dotnet-nuget-locals.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-nuget-locals" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-nuget-locals" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet nuget locals .PP @@ -42,7 +42,7 @@ The \f[V]dotnet nuget locals\f[R] command clears or lists local NuGet resources The cache location to list or clear. It accepts one of the following values: .IP \[bu] 2 -\f[V]all\f[R] - Indicates that the specified operation is applied to all cache types: http-request cache, global packages cache, and the temporary cache. +\f[V]all\f[R] - Indicates that the specified operation is applied to all cache types: http-request cache, global packages cache, temporary cache, and plugins cache. .IP \[bu] 2 \f[V]http-cache\f[R] - Indicates that the specified operation is applied only to the http-request cache. The other cache locations aren\[cq]t affected. @@ -52,6 +52,9 @@ The other cache locations aren\[cq]t affected. .IP \[bu] 2 \f[V]temp\f[R] - Indicates that the specified operation is applied only to the temporary cache. The other cache locations aren\[cq]t affected. +.IP \[bu] 2 +\f[V]plugins-cache\f[R] - Indicates that the specified operation is applied only to the plugins cache. +The other cache locations aren\[cq]t affected. .RE .SH OPTIONS .IP \[bu] 2 @@ -83,7 +86,7 @@ The list option is used to display the location of the specified cache type. .RE .SH EXAMPLES .IP \[bu] 2 -Displays the paths of all the local cache directories (http-cache directory, global-packages cache directory, and temporary cache directory): +Displays the paths of all the local cache directories (http-cache directory, global-packages cache directory, temporary cache directory, and plugins cache directory): .RS 2 .IP .nf @@ -103,7 +106,17 @@ dotnet nuget locals http-cache --list .fi .RE .IP \[bu] 2 -Clears all files from all local cache directories (http-cache directory, global-packages cache directory, and temporary cache directory): +Displays the path for the local plugins cache directory: +.RS 2 +.IP +.nf +\f[C] +dotnet nuget locals plugins-cache --list +\f[R] +.fi +.RE +.IP \[bu] 2 +Clears all files from all local cache directories (http-cache directory, global-packages cache directory, temporary cache directory, and plugins cache directory): .RS 2 .IP .nf @@ -132,6 +145,16 @@ dotnet nuget locals temp -c \f[R] .fi .RE +.IP \[bu] 2 +Clears all files in local plugins cache directory: +.RS 2 +.IP +.nf +\f[C] +dotnet nuget locals plugins-cache -c +\f[R] +.fi +.RE .SS Troubleshooting .PP For information on common problems and errors while using the \f[V]dotnet nuget locals\f[R] command, see Managing the NuGet cache. diff --git a/documentation/manpages/sdk/dotnet-nuget-push.1 b/documentation/manpages/sdk/dotnet-nuget-push.1 index 876e694f4cd2..e25c575ef1ef 100644 --- a/documentation/manpages/sdk/dotnet-nuget-push.1 +++ b/documentation/manpages/sdk/dotnet-nuget-push.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-nuget-push" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-nuget-push" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet nuget push .PP @@ -26,7 +26,7 @@ dotnet-nuget-push - Pushes a package to the server and publishes it. .IP .nf \f[C] -dotnet nuget push [] [-d|--disable-buffering] [--force-english-output] +dotnet nuget push [] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output] [--interactive] [-k|--api-key ] [-n|--no-symbols] [--no-service-endpoint] [-s|--source ] [--skip-duplicate] [-sk|--symbol-api-key ] [-ss|--symbol-source ] @@ -73,6 +73,12 @@ Specifies the file path to the package to be pushed. .RE .SH OPTIONS .IP \[bu] 2 +\f[B]\f[VB]--allow-insecure-connections\f[B]\f[R] +.RS 2 +.PP +Allows pushing to HTTP sources (insecure). +.RE +.IP \[bu] 2 \f[B]\f[VB]-d|--disable-buffering\f[B]\f[R] .RS 2 .PP diff --git a/documentation/manpages/sdk/dotnet-nuget-sign.1 b/documentation/manpages/sdk/dotnet-nuget-sign.1 index 8f8097b7118d..46020d0781b5 100644 --- a/documentation/manpages/sdk/dotnet-nuget-sign.1 +++ b/documentation/manpages/sdk/dotnet-nuget-sign.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-nuget-sign" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-nuget-sign" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet nuget sign .PP @@ -49,8 +49,8 @@ The \f[V]dotnet nuget sign\f[R] command signs all the packages matching the firs The certificate with the private key can be obtained from a file or from a certificate installed in a certificate store by providing a subject name or a SHA-1 fingerprint. .RS .PP -This command requires a certificate root store that is valid for both code signing and timestamping. -Also, this command may not be supported on some combinations of operating system and .NET SDK. +This command requires a certificate root store that\[cq]s valid for both code signing and timestamping. +Also, this command might not be supported on some combinations of operating system and .NET SDK. For more information, see NuGet signed package verification. .RE .SH ARGUMENTS @@ -108,9 +108,11 @@ If there are multiple matching certificates in the result, or no matching certif Specifies the fingerprint of the certificate used to search a local certificate store for the certificate. .PP Starting with .NET 9, this option can be used to specify the SHA-1, SHA-256, SHA-384, or SHA-512 fingerprint of the certificate. -However, a \f[V]NU3043\f[R] warning is raised when a SHA-1 certificate fingerprint is used because it is no longer considered secure. +However, a \f[V]NU3043\f[R] warning is raised when a SHA-1 certificate fingerprint is used because it\[cq]s no longer considered secure. +In .NET 10 and later versions, the warning is elevated to an error. +Only SHA-2 family fingerprints (SHA-256, SHA-384, and SHA-512) are supported. .PP -All the previous versions of the .NET SDK continue to accept only SHA-1 certificate fingerprint. +All pre-.NET 9 versions of the .NET SDK continue to accept only SHA-1 certificate fingerprint. .RE .IP \[bu] 2 \f[B]\f[VB]--certificate-password \f[B]\f[R] @@ -196,12 +198,12 @@ dotnet nuget sign foo.nupkg --certificate-path cert.pfx --certificate-password p .fi .RE .IP \[bu] 2 -Sign \f[I]foo.nupkg\f[R] with certificate (password protected) matches with the specified SHA-1 fingerprint in the default certificate store (CurrentUser): +Sign \f[I]foo.nupkg\f[R] with certificate (password protected) matches with the specified SHA-256 fingerprint in the default certificate store (CurrentUser): .RS 2 .IP .nf \f[C] -dotnet nuget sign foo.nupkg --certificate-fingerprint 89967D1DD995010B6C66AE24FF8E66885E6E03A8 --certificate-password password +dotnet nuget sign foo.nupkg --certificate-fingerprint B2C40F2F8775D7B7EBEB76BD5A9D3A4BC3F4B8A4D8D7C5F8A4C6B3E7A9E2D5F1 --certificate-password password \f[R] .fi .RE @@ -216,12 +218,12 @@ dotnet nuget sign foo.nupkg --certificate-subject-name \[dq]Test certificate for .fi .RE .IP \[bu] 2 -Sign \f[I]foo.nupkg\f[R] with certificate (password protected) matches with the specified SHA-1 fingerprint in the certificate store CurrentUser: +Sign \f[I]foo.nupkg\f[R] with certificate (password protected) matches with the specified SHA-256 fingerprint in the certificate store CurrentUser: .RS 2 .IP .nf \f[C] -dotnet nuget sign foo.nupkg --certificate-fingerprint 89967D1DD995010B6C66AE24FF8E66885E6E03A8 --certificate-password password --certificate-store-location CurrentUser --certificate-store-name Root +dotnet nuget sign foo.nupkg --certificate-fingerprint B2C40F2F8775D7B7EBEB76BD5A9D3A4BC3F4B8A4D8D7C5F8A4C6B3E7A9E2D5F1 --certificate-password password --certificate-store-location CurrentUser --certificate-store-name Root \f[R] .fi .RE diff --git a/documentation/manpages/sdk/dotnet-nuget-verify.1 b/documentation/manpages/sdk/dotnet-nuget-verify.1 index 95a527bd7d75..26fd8536f43b 100644 --- a/documentation/manpages/sdk/dotnet-nuget-verify.1 +++ b/documentation/manpages/sdk/dotnet-nuget-verify.1 @@ -15,7 +15,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-nuget-verify" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-nuget-verify" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet nuget verify .PP @@ -39,6 +39,7 @@ dotnet nuget verify -h|--help .SH DESCRIPTION .PP The \f[V]dotnet nuget verify\f[R] command verifies a signed NuGet package. +In .NET 10 and later versions, the command also outputs the package\[cq]s content hash, which might be useful to investigate lock file validation errors. .RS .PP This command requires a certificate root store that is valid for both code signing and timestamping. diff --git a/documentation/manpages/sdk/dotnet-nuget-why.1 b/documentation/manpages/sdk/dotnet-nuget-why.1 index 0ce0e3c8e544..66ecdd68ab0f 100644 --- a/documentation/manpages/sdk/dotnet-nuget-why.1 +++ b/documentation/manpages/sdk/dotnet-nuget-why.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-nuget-why" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-nuget-why" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet nuget why .PP @@ -35,13 +35,16 @@ dotnet nuget why -h|--help .PP The \f[V]dotnet nuget why\f[R] command shows the dependency graph for a particular package for a given project or solution. .PP -Starting from the .NET 9 SDK, it\[cq]s possible to pass a NuGet assets file in place of the project file, in order to use the command with projects that can\[cq]t be restored with the .NET SDK. -First, restore the project in Visual Studio, or \f[V]msbuild.exe\f[R]. -By default the assets file is in the project\[cq]s \f[V]obj\[rs]\f[R] directory, but you can find the location with \f[V]msbuild.exe path\[rs]to\[rs]project.proj -getProperty:ProjectAssetsFile\f[R]. -Finally, run \f[V]dotnet nuget why path\[rs]to\[rs]project.assets.json SomePackage\f[R]. -.PP Starting with version 9.0.200, the command introduces support for runtime identifier (RID) specific packages by generating separate dependency trees for each RID and framework combination. For example, if a project targets \f[V]net9.0\f[R] with the \f[V]win-x64\f[R] RID, the command generates trees for \f[V]net9.0/win-x64\f[R] and \f[V]net9.0\f[R]. +.SS Older project format +.PP +To use the command with projects that can\[cq]t be restored with the .NET SDK, you can pass a NuGet assets file in place of the project file (starting with the .NET 9 SDK): +.IP "1." 3 +First, restore the project in Visual Studio or using \f[V]msbuild.exe\f[R]. +By default, the assets file is in the project\[cq]s \f[V]obj\[rs]\f[R] directory, but you can find the location with \f[V]msbuild.exe path\[rs]to\[rs]project.proj -getProperty:ProjectAssetsFile\f[R]. +.IP "2." 3 +Run \f[V]dotnet nuget why path\[rs]to\[rs]project.assets.json SomePackage\f[R]. .SH ARGUMENTS .IP \[bu] 2 \f[B]\f[VB]PROJECT|SOLUTION\f[B]\f[R] diff --git a/documentation/manpages/sdk/dotnet-publish.1 b/documentation/manpages/sdk/dotnet-publish.1 index b494f7417f22..64610ed45272 100644 --- a/documentation/manpages/sdk/dotnet-publish.1 +++ b/documentation/manpages/sdk/dotnet-publish.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-publish" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-publish" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet publish .PP @@ -57,7 +57,7 @@ The application\[cq]s dependencies, which are copied from the NuGet cache into t The \f[V]dotnet publish\f[R] command\[cq]s output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution. It\[cq]s the only officially supported way to prepare the application for deployment. Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET shared runtime installed on it. -For more information, see Publish .NET apps with the .NET CLI. +For more information, see .NET application publishing overview. .SS Implicit restore .PP You don\[cq]t have to run \f[V]dotnet restore\f[R] because it\[cq]s run implicitly by all commands that require a restore to occur, such as \f[V]dotnet new\f[R], \f[V]dotnet build\f[R], \f[V]dotnet run\f[R], \f[V]dotnet test\f[R], \f[V]dotnet publish\f[R], and \f[V]dotnet pack\f[R]. @@ -346,7 +346,7 @@ Available since .NET 6. .PP Publishes the .NET runtime with your application so the runtime doesn\[cq]t need to be installed on the target machine. Default is \f[V]true\f[R] if a runtime identifier is specified and the project is an executable project (not a library project). -For more information, see .NET application publishing and Publish .NET apps with the .NET CLI. +For more information, see Self-contained deployment. .PP If this option is used without specifying \f[V]true\f[R] or \f[V]false\f[R], the default is \f[V]true\f[R]. In that case, don\[cq]t put the solution or project argument immediately after \f[V]--self-contained\f[R], because \f[V]true\f[R] or \f[V]false\f[R] is expected in that position. @@ -369,7 +369,7 @@ The URI of the NuGet package source to use during the restore operation. .PP Publishes the application for a given runtime. For a list of Runtime Identifiers (RIDs), see the RID catalog. -For more information, see .NET application publishing and Publish .NET apps with the .NET CLI. +For more information, see .NET application publishing overview. If you use this option, use \f[V]--self-contained\f[R] or \f[V]--no-self-contained\f[R] also. .RE .IP \[bu] 2 @@ -495,8 +495,6 @@ dotnet publish --no-dependencies .IP \[bu] 2 \&.NET application publishing overview .IP \[bu] 2 -Publish .NET apps with the .NET CLI -.IP \[bu] 2 Target frameworks .IP \[bu] 2 Runtime Identifier (RID) catalog diff --git a/documentation/manpages/sdk/dotnet-reference-remove.1 b/documentation/manpages/sdk/dotnet-reference-remove.1 index 46fb3bd7029b..4117a2412d71 100644 --- a/documentation/manpages/sdk/dotnet-reference-remove.1 +++ b/documentation/manpages/sdk/dotnet-reference-remove.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-reference-remove" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-reference-remove" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet reference remove .PP @@ -24,7 +24,7 @@ dotnet-reference-remove - Removes project-to-project (P2P) references. .RS .PP -If you\[cq]re using .NET 9 SDK or earlier, use the \[lq]verb first\[rq] form (dotnet-reference-remove) instead. +If you\[cq]re using .NET 9 SDK or earlier, use the \[lq]verb first\[rq] form (dotnet-remove-reference) instead. The \[lq]noun first\[rq] form was introduced in .NET 10. For more information, see More consistent command order. .RE diff --git a/documentation/manpages/sdk/dotnet-restore.1 b/documentation/manpages/sdk/dotnet-restore.1 index f3d2c572f28e..641392104a42 100644 --- a/documentation/manpages/sdk/dotnet-restore.1 +++ b/documentation/manpages/sdk/dotnet-restore.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-restore" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-restore" "1" "2025-06-20" "" ".NET Documentation" .hy .SH dotnet restore .PP @@ -387,8 +387,8 @@ You can configure the level at which auditing will fail by setting the \f[V]\f[R] MSBuild property to \f[V]direct\f[R] or \f[V]all\f[R]. .PP For more information, see Auditing package dependencies for security vulnerabilities. diff --git a/documentation/manpages/sdk/dotnet-sln.1 b/documentation/manpages/sdk/dotnet-sln.1 index 221f2d995795..6cae1db32abe 100644 --- a/documentation/manpages/sdk/dotnet-sln.1 +++ b/documentation/manpages/sdk/dotnet-sln.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-sln" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-sln" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet sln .PP @@ -39,7 +39,7 @@ The \f[V]dotnet sln\f[R] command provides a convenient way to list and modify pr To use the \f[V]dotnet sln\f[R] command, the solution file must already exist. If you need to create one, use the dotnet new command with the \f[V]sln\f[R] template name. .PP -The following example creates a \f[I].sln\f[R] file in the current folder, with the same name as the folder: +The following example creates an \f[I].slnx\f[R] file in the current folder, with the same name as the folder: .IP .nf \f[C] @@ -47,7 +47,7 @@ dotnet new sln \f[R] .fi .PP -The following example creates a \f[I].sln\f[R] file in the current folder, with the specified file name: +The following example creates an \f[I].slnx\f[R] file in the current folder, with the specified file name: .IP .nf \f[C] @@ -55,13 +55,17 @@ dotnet new sln --name MySolution \f[R] .fi .PP -The following example creates a \f[I].sln\f[R] file in the specified folder, with the same name as the folder: +The following example creates an \f[I].slnx\f[R] file in the specified folder, with the same name as the folder: .IP .nf \f[C] dotnet new sln --output MySolution \f[R] .fi +.RS +.PP +In .NET 9 and earlier versions, \f[V]dotnet new sln\f[R] creates an \f[I].sln\f[R] file instead of an \f[I].slnx\f[R] file. +.RE .SH ARGUMENTS .IP \[bu] 2 \f[B]\f[VB]SOLUTION_FILE\f[B]\f[R] diff --git a/documentation/manpages/sdk/dotnet-test.1 b/documentation/manpages/sdk/dotnet-test.1 index f85d10f37ec7..f10f0f74b472 100644 --- a/documentation/manpages/sdk/dotnet-test.1 +++ b/documentation/manpages/sdk/dotnet-test.1 @@ -15,7 +15,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-test" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-test" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet test .SH NAME @@ -736,7 +736,6 @@ Passing runsettings arguments through commandline (https://github.com/microsoft/ dotnet test [--project ] [--solution ] - [--directory ] [--test-modules ] [--root-directory ] [--max-parallel-test-modules ] @@ -780,7 +779,7 @@ For information about how to manage NuGet feeds, see the \f[V]dotnet restore\f[R .SH OPTIONS .RS .PP -You can use only one of the following options at a time: \f[V]--project\f[R], \f[V]--solution\f[R], \f[V]--directory\f[R], or \f[V]--test-modules\f[R]. +You can use only one of the following options at a time: \f[V]--project\f[R], \f[V]--solution\f[R], or \f[V]--test-modules\f[R]. These options can\[cq]t be combined. In addition, when using \f[V]--test-modules\f[R], you can\[cq]t specify \f[V]--arch\f[R], \f[V]--configuration\f[R], \f[V]--framework\f[R], \f[V]--os\f[R], or \f[V]--runtime\f[R]. These options are not relevant for an already-built module. @@ -789,19 +788,15 @@ These options are not relevant for an already-built module. \f[B]\f[VB]--project \f[B]\f[R] .RS 2 .PP -Specifies the path to the test project. +Specifies the path of the project file to run (folder name or full path). +If not specified, it defaults to the current directory. .RE .IP \[bu] 2 \f[B]\f[VB]--solution \f[B]\f[R] .RS 2 .PP -Specifies the path to the solution. -.RE -.IP \[bu] 2 -\f[B]\f[VB]--directory \f[B]\f[R] -.RS 2 -.PP -Specifies the path to a directory that contains a project or a solution. +Specifies the path of the solution file to run (folder name or full path). +If not specified, it defaults to the current directory. .RE .IP \[bu] 2 \f[B]\f[VB]--test-modules \f[B]\f[R] @@ -993,16 +988,6 @@ dotnet test --solution ./TestProjects/TestProjects.sln .fi .RE .IP \[bu] 2 -Run the tests in a solution or project that can be found in the \f[V]TestProjects\f[R] directory: -.RS 2 -.IP -.nf -\f[C] -dotnet test --directory ./TestProjects -\f[R] -.fi -.RE -.IP \[bu] 2 Run the tests using \f[V]TestProject.dll\f[R] assembly: .RS 2 .IP diff --git a/documentation/manpages/sdk/dotnet-tool-install.1 b/documentation/manpages/sdk/dotnet-tool-install.1 index ead2bf8e0659..bf6966b12e75 100644 --- a/documentation/manpages/sdk/dotnet-tool-install.1 +++ b/documentation/manpages/sdk/dotnet-tool-install.1 @@ -15,7 +15,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-tool-install" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-tool-install" "1" "2025-08-29" "" ".NET Documentation" .hy .SH dotnet tool install .PP @@ -65,6 +65,11 @@ To install a global tool in the default location, use the \f[V]--global\f[R] opt To install a global tool in a custom location, use the \f[V]--tool-path\f[R] option. .IP \[bu] 2 To install a local tool, omit the \f[V]--global\f[R] and \f[V]--tool-path\f[R] options. +.RS +.PP +[!WARNING] Make sure the directory you specify with the \f[V]--tool-path\f[R] option is secure. +Tools installed in this location can be executed directly, so using an untrusted or shared path might introduce security risks. +.RE .SS Installation locations .SS Global tools .PP @@ -187,6 +192,14 @@ If one is found, create the manifest in that directory. If neither of the previous two steps finds a directory, create the manifest in the current working directory. .PP For more information on how manifests are located, see Install a local tool. +.PP +Starting in .NET 10, this flag is applied automatically if no tools manifest is found. +.RS +.PP +[!WARNING] Don\[cq]t run tool commands from the \f[B]Downloads\f[R] folder or any shared location. +The CLI walks up the directory tree to find a tool manifest, which might cause it to use a manifest you don\[cq]t expect. +Always run tool commands from a trusted, project-specific directory. +.RE .RE .IP \[bu] 2 \f[B]\f[VB]--disable-parallel\f[B]\f[R] @@ -320,7 +333,7 @@ Installs version 2.0.0 of dotnetsay (https://www.nuget.org/packages/dotnetsay/) Installs dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a local tool for the current directory. .RE .IP \[bu] 2 -\f[B]\f[VB]dotnet tool install -g --verbosity minimal\f[B]\f[R] +\f[B]\f[VB]dotnet tool install -g dotnetsay --verbosity minimal\f[B]\f[R] .RS 2 .PP Installs dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a global tool with the verbosity of minimal. diff --git a/documentation/manpages/sdk/dotnet-tool-update.1 b/documentation/manpages/sdk/dotnet-tool-update.1 index 82aa2a52ef0f..e94bf9444f07 100644 --- a/documentation/manpages/sdk/dotnet-tool-update.1 +++ b/documentation/manpages/sdk/dotnet-tool-update.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "dotnet-tool-update" "1" "2025-06-13" "" ".NET Documentation" +.TH "dotnet-tool-update" "1" "2025-06-20" "" ".NET Documentation" .hy .SH dotnet tool update .PP @@ -27,7 +27,7 @@ dotnet-tool-update - Updates the specified .NET tool on your machine. .nf \f[C] dotnet tool update -g|--global - [--add-source ] [--allow-downgrade] + [--add-source ] [--all] [--allow-downgrade] [--configfile ] [--disable-parallel] [--framework ] [--ignore-failed-sources] [--interactive] @@ -35,7 +35,7 @@ dotnet tool update -g|--global [-v|--verbosity ] [--version ] dotnet tool update --tool-path - [--add-source ] [--allow-downgrade] + [--add-source ] [--all] [--allow-downgrade] [--configfile ] [--disable-parallel] [--framework ] [--ignore-failed-sources] [--interactive] @@ -43,7 +43,7 @@ dotnet tool update --tool-path [-v|--verbosity ] [--version ] dotnet tool update --local - [--add-source ] [--allow-downgrade] + [--add-source ] [--all] [--allow-downgrade] [--configfile ] [--disable-parallel] [--framework ] [--ignore-failed-sources] [--interactive] @@ -84,6 +84,12 @@ If the same package and version is in multiple feeds, the fastest feed wins. For more information, see What happens when a NuGet package is installed?. .RE .IP \[bu] 2 +\f[B]\f[VB]--all\f[B]\f[R] +.RS 2 +.PP +Update all tools. +.RE +.IP \[bu] 2 \f[B]\f[VB]--allow-downgrade\f[B]\f[R] .RS 2 .PP