使用 MSBuild.exe 通过 cmd 行“发布”ASP.NET MVC 4 项目

2024-01-05

我正在寻找一个命令来运行MSBuild.exe它只需要一个 MVC 4 项目并将其发布到给定的目录。

例如,

MSBuild <solution>/<project>.csproj -publish -output=c:/folder

这显然是不正确的语法。我正在尝试简化我的问题。

这个问题 https://stackoverflow.com/questions/3097489/how-to-publish-web-with-msbuild谈论了构建 XML,但我并不想做任何涉及那么多细节的事情。

我只是想进行部署。

再往下在那个问题 https://stackoverflow.com/questions/3097489/how-to-publish-web-with-msbuild,有人谈到“MSDeploy”。我可以调查一下,但这是唯一的选择吗?我无法在服务器上安装 Web 部署。在这种情况下,我真正需要做的就是“发布”并将已发布项目的内容发送到服务器/文件系统上的给定目录。

有人有我可以使用的单衬吗?

我必须使用 MSDeploy 吗?

MSDeploy 是否需要在服务器上安装 Web 部署?

在服务器上设置web部署不是需要设置一些端口、权限、安装一些IIS插件吗?

我很乐意执行一些简单的事情。


在 VS 2012 中(以及Azure SDK http://www.windowsazure.com/en-us/develop/net/对于 VS 2010)我们简化了 Web 项目的命令行发布。我们通过使用发布配置文件来做到这一点。

在 Web 项目的 VS 中,您可以使用发布对话框创建发布配置文件。当您创建该配置文件时,它会自动存储在您的项目中的 Properties\PublishProfiles 下。您可以使用创建的配置文件通过以下命令行从命令行发布。

msbuild mysln.sln /p:DeployOnBuild=true /p:PublishProfile=<profile-name>

如果您想将发布配置文件(.pubxml 文件)存储在其他位置,您可以传入 PublishProfile 的路径。

发布配置文件是 MSBuild 文件。如果您需要自定义发布过程,您可以直接在 .pubxml 文件内执行此操作。

如果您的最终目标是从命令行传递属性。我会推荐以下内容。在 VS 中创建示例发布配置文件。检查该发布配置文件以确定需要在命令行中传递哪些 MSBuild 属性。仅供参考,并非所有发布方法都支持命令行发布(即 FTP/FPSE)。

仅供参考,如果您正在构建 .csproj/.vbproj 而不是 .sln 并且您使用的是 VS 2012,您还应该传入/p:VisualStudioVersion=11.0。有关原因的更多详细信息,请参阅http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MSBuild.exe 通过 cmd 行“发布”ASP.NET MVC 4 项目 的相关文章

随机推荐