如何通过命令行发布ASP.NET MVC项目?

10

我有一个现有的网站,它监控SVN存储库的更改。当提交代码时,使用aspnet_compiler构建新的网站,然后将生产站点中的差异通过sftp传输到生产Web服务器。整个持续集成过程是使用cruisecontrol.net构建的。

我已经重构了整个网站,使用ASP.NET MVC,并且现在正在尝试将其集成到我的构建过程中。似乎这个过程发生了变化,因为我没有像以前使用pre-MVC网站那样获得相同的行为。不幸的是,我没有取得太多进展,因为似乎还没有人做过这件事。是否有人以任何形式让类似的东西工作过?

使用"devenv"自动化命令行就像"常规项目"一样也不起作用。虽然有/Build命令行开关,但它们只能现地建立。这个命令行不能暴露内置于UI中的"发布"机制。甚至在项目目录中有一个{Project Name}.Publish.xml文件,看起来像是需要发布的清单。只是没有办法自动化。

我只是想模拟VS 2008 MVC项目中的“发布{项目名称}”在生成菜单下的命令行版本。

2个回答

1

如果你正在使用CruiseControl.net,那么你已经完成了85%的工作。你能使用NAnt吗?那肯定是最好的选择。

如果不能,那么我建议你尝试从命令行中使用msbuild而不是devenv,因为它并不是为了实现你想要的功能而设计的。

NAnt绝对是一个很好的选择。虽然随着msbuild的变化,它也成为了一个很好的竞争者。 Nant最近又焕发了新的生机,所以它应该会继续是一个优秀的选项。


+1 跟随 Nick DeVore 的建议。这是最好的方法,有很多可用的 NANT 脚本。 - Dustin Laine

-1
当您创建MVC项目时,这是一个标准的.NET项目,而不是“Web项目”,它们并不相同。我认为aspnet_compiler仅适用于Web项目,因此可能会导致您的问题。我不知道您正在使用哪个构建工具,但请尝试像任何其他.NET项目一样构建它。

1
我只是试图在VS 2008 MVC项目中模拟“发布{项目名称}”菜单下的构建菜单。 - Clearly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接