这几天对ps情有独忠,被它的强大功能所希引,它可以快速部署,快速发布,将一些连带的动作一次的完成,挺方便,类似于早期的bat文件,也像linux平台的bash脚本,但功能上,比前两者都要强很多,下面我们看一下将某个解决方案下的所有项目一次publish的过程,我们使用ps脚本来实现的。
# 作者:仓储大叔# 功能:发布项目到指定的地方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="$rootPathsrcLindCore.Manager";Prj="LindCore.Manager.csproj";Name="web"}, @{Path="$rootPathsrcLindCore.Test";Prj="LindCore.Test.csproj";Name="console"} $projectPaths | foreach { $projectPath = $_.Path $projectFile = $_.Prj $name=$_.Name # $outPath = $_.Path + "objpublish"$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 $outPath}
登录后复制
注意:如果你只是把跨平台项目发到objpublish文件夹的话,那wwwroot这些文件夹不会生成,而如果发到其它磁盘,将会生成这些静态的文件,这点要注意!
跨平台项目,需要在project.json里把运行时都加上,否则你的项目保能在当前平台运行
"runtimes": {"win7-x64": {},"linux-x64": {},"osx-x64": {} },
登录后复制
感谢各位对.net core的支持!
以上就是关于脚本PowerShell的设计实例的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2440677.html