如何在Visual Studio 2008中自动发布构建网站?

我希望每次构建web asp.net mvc 2项目时都能自动发布到本地文件夹。

我使用Visual Studio 2008。

自动化Visual Studio的“发布”操作中包含的function的最简单方法是使用Web部署项目 。 VS2005也有一款。 基本上,这是一个额外的项目,您将添加到您的解决方案中,该项目将针对您的Web项目,并且在构建时将作为构建过程的一部分发布您的Web项目。 它使得自动构建一个站点作为构建的一部分而不会与MSBuild混淆(虽然MSBuild并不那么困难)。

那么你可以在一个post-build事件中用MSBuild做到这一点。

但你确定要这么做吗? 它会让你慢下来,你可能不需要为每个版本发布? 为什么不在IIS而不是Cassini中运行该站点。

步骤1.确保您有一个Web项目。

步骤2.转到视图 – >工具栏 – > Web一键发布。

工具栏上的发布按钮Web按钮将按您的要求执行…一步构建和发布。

以下是我在网站项目中的使用方法。 请注意,这将复制到一个文件夹; 如果要通过FTB,WebDav或SSH公开,则需要使用Exec任务而不是Copy任务,并指定可以通过所需协议部署文件的命令行工具。

此外,您无法从VS IDE中的项目设置编辑AfterBuild任务。 您需要在记事本或您喜欢的文本/ XML编辑器中打开它。 (你甚至可以使用VS,如果你关闭解决方案并强制它使用XML编辑器打开文件:-))

还有一个构建目标,它调用我目前已关闭的AspNetCompiler ,但您可以通过MvcBuildViews属性值轻松打开。

   false ..\..\drop\                  

选项1:从Cruise Control切换到JetBrains TeamCity(你不会后悔的!)。 在TeamCity中有一个Artifacts选项……

“工件是由构建生成的文件。完成构建后,TeamCity根据指定的工件模式在构建的checkout目录中搜索工件。然后将匹配的文件上载到服务器,在那里它们可供下载。”

选项2:在Cruise Control中创建一个任务,在构建完成后执行XCOPY。

   ... here's your main build ...   ... define your XCOPY or other executable task here ... 900  

选项3:在您的解决方案中创建一个后期构建项目,并在其中有一个任务来复制文件,在该任务上添加一个仅在巡航控制上运行时触发的条件(各种环境变量启用此function)。