我想创建一个PowerShell v5脚本来构建和发布VS2017 WCF Web服务应用程序(.NET Framework 4),以便我可以在Bamboo中自动执行它。我有msbuild命令工作,正确构建,现在我需要使用FolderProfile发布项目到一个文件夹。如何自动化Visual Studio 2017 Web项目发布到文件夹
我可以通过右键单击项目并选择发布,然后选择FolderProfile,手动执行成功。这会将需要部署的文件放入项目的bin \ Release \ PublishOutput位置中的网站。我想在Powershell脚本中自动执行发布操作。
我试过了Sayed Hashimi's这个网站的建议,这个网站和下面类似(我只是用VS2017版本15.2,当然用我的实际值替换了项目名称和配置文件)。
msbuild MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name> /p:Password=<insert-password> /p:VisualStudioVersion=15.2
但是,这并没有在bin\Release\PublishOutput
位置放置任何文件。它看起来只是做了一个标准的构建。
编辑:
的msbuild列表这一行中,当我运行上述命令的输出;
DeploymentUnpublishable:
Skipping unpublishable project.
我已经通过this后GitHub上显得有些已经列举了解决方案升级到VS2017,我已经做的v15.2;
Microsoft Visual Studio Enterprise 2017
Version 15.2 (26430.16) Release
任何想法?
编辑 - 解决方案
@狮子座-MSFT提供这种解决方案
msbuild myproject\myproject.vbproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile.pubxml /p:Configuration=Release
这把文件放到BIN \发布\ PublishOutput。
我花了好几天寻找这个解决方案,我又增加了其他建议SO各种命令的参数和GitHub的论坛帖子,如/t:Publish
,/p:PublishProfileRootFolder
和/p:VisualStudioVersion=15.2
。我删除了那些,只是使用上面最后创建我需要的发布输出的行。
这很好地解决了这个问题。我的最终命令行以msbuild myproject \ myproject.vbproj/p结尾:DeployOnBuild = true /p:PublishProfile=FolderProfile.pubxml/p:Configuration = Release。这将文件放入bin \ release \ PublishOutput。谢谢 – EiEiGuy