gpt4 book ai didi

visual-studio - 如何自动化 Visual Studio 2017 web 项目发布到文件夹

转载 作者:行者123 更新时间:2023-12-04 06:30:15 24 4
gpt4 key购买 nike

我正在尝试创建一个 PowerShell v5 脚本来构建和发布 VS2017 WCF Web 服务应用程序(.NET Framework 4),以便我可以在 Bamboo 中自动化它。我有 msbuild 命令可以正确执行构建,现在我需要使用 FolderProfile 将项目发布到文件夹。

我可以通过右键单击项目并选择发布,然后选择 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

有任何想法吗?

编辑 - 解决方案

@Leo-MSFT 提供了这个解决方案......
msbuild myproject\myproject.vbproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile.pubxml /p:Configuration=Release

这会将文件放入 bin\release\PublishOutput。

我花了几天时间寻找这个解决方案,并添加了其他 SO 和 GitHub 论坛帖子中建议的各种命令参数,例如 /t:Publish , /p:PublishProfileRootFolder/p:VisualStudioVersion=15.2 .我删除了那些并只使用了上面的行,最终创建了我需要的已发布输出。

最佳答案

this did not put any files in the bin\Release\PublishOutput location. It looked like it just did a standard build



我已经用你的命令行重现了这个问题。研究了很久这个问题,我尝试去掉参数“ /p:VisualStudioVersion=15.2”,然后用命令行重新发布项目:
msbuild MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile="MyProfile.pubxml"

它成功构建和发布,Web 项目发布到您在 MyProfile.pubxml 中的选项“ <publishUrl>”中设置的文件夹。

所以请尽量去掉参数 “/p:VisualStudioVersion ”在 MSBuild 命令行中,检查它是否适合您。

注意:我还使用 VisualStudioVersion 为 Visual Studio 2015 创建的项目测试了该命令行,它工作正常。不确定这是否是 Visual Studio 2017 的问题,我需要确认一下,如果是 Visual Studio 2017 的问题,我会将此问题发送给 Visual Studio 团队。

关于visual-studio - 如何自动化 Visual Studio 2017 web 项目发布到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com