【问题标题】:Powershell script to publish vs projects to file system将 vs 项目发布到文件系统的 Powershell 脚本
【发布时间】:2020-01-30 05:22:31
【问题描述】:

我在一个解决方案中有大约 25 个项目。每次我修改这些项目时,我都必须构建并发布到本地文件系统。和 IIS 指向那些已发布的文件夹。 我在想是否有任何方法可以创建一个可以发布所有这些项目的 powershell 脚本,这样我就不必手动进行了。

我尝试过的事情都没有运气。由于 powershell 抛出错误 msbuild not found。

msbuild C:\Development\myService /p:DeployOnBuild=true /p:PublishProfile=FolderProfile /p:Configuration=Release  /p:VisualStudioVersion=15.9.7

任何帮助将不胜感激。

【问题讨论】:

  • 您是否尝试过完全限定 msbuild 的路径。 X 或 Y 未找到仅表示您的系统、用户或 PowerShell 路径中没有它。
  • 我认为是你没有把msbuild.exe的路径放到powershell中,既然你用的是vs2017,我觉得你应该像C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe这样使用整个路径

标签: visual-studio powershell msbuild publish


【解决方案1】:

我尝试过的事情都没有运气。由于 powershell 抛出错误 msbuild 没找到。

首先,感谢 postanote 分享有用的信息。

由于原来是错误msbuild not found,我认为你没有指定MSBuild.exe的完整路径或者输入了错误的路径导致 Powershell 找不到msbuild

解决方案

你可以试试这个:

$msbuild="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"
& $msbuild C:\xxx\xxx\xxxx\xxxx.csproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile /p:Configuration=Release  /p:VisualStudioVersion=15.9.7

注意,您应该重建所有项目,然后运行此 powershell 脚本。此外,由于您有很多项目要发布,您应该为每个项目编写多个命令,如显示的第二个命令(每个xxxx.pubxml 属于自己的项目)。

另外,您可以参考this link获取更多详细信息。

【讨论】:

    【解决方案2】:

    我们大多数人在发布管理方面遇到的有趣问题。

    如果你检查 Building a simple release pipeline in powershell 布兰登·奥林(Brandon Olin),这可能是一个很大的帮助。

    也许您可以进行适应您的需求的调整,并且作为额外的好处,只需更新已更改的项目。 看看吧,也许值得一试!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多