How does PowerShell publish a project to a specified place
This article will explain in detail how PowerShell publishes the project to the designated place. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.
Example
# function: publish the project to the specified place Param ([string] $rootPath) $scriptPath = Split-Path $script:MyInvocation.MyCommand.PathWrite-Host "Current script directory is $scriptPath"-ForegroundColor Yellowif ([string]:: IsNullOrEmpty ($rootPath)) {$rootPath = "$scriptPath\.."} Write-Host "Root path used is $rootPath"-ForegroundColor Yellow$projectPaths = @ {Path= "$rootPath\ src\ LindCore.Manager"; Prj= "LindCore.Manager.csproj"; Name= "web"}, @ {Path= "$rootPath\ src\ LindCore.Test" Prj= "LindCore.Test.csproj"; Name= "console"} $projectPaths | foreach {$projectPath = $_. Path $projectFile = $_. Prj $name=$_.Name # $outPath = $_. Path + "\ obj\ publish" $outPath = "d:\ publish\" + $name$projectPathAndFile = "$projectPath\ $projectFile" Write-Host "Deleting old publish files in $outPath"-ForegroundColor Yellow remove-item-path $outPath-Force-Recurse-ErrorAction SilentlyContinue Write-Host "Publishing $projectPath to $outPath"-ForegroundColor Yellow dotnet restore $projectPathAndFile dotnet build $projectPath dotnet publish $projectPath-o $projectPath}
Note: if you just send cross-platform projects to the obj\ publish folder, then wwwroot these folders will not be generated, but if sent to other disks, will generate these static files, this should be noted!
For cross-platform projects, you need to add the runtime to project.json, otherwise your project can run on the current platform.
"runtimes": {"win7-x64": {}, "linux-x64": {}, "osx-x64": {}, this is the end of the article on "how PowerShell publishes the project to the designated place". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, please share it for more people to see.