Visual studio 2010 使用cruisecontrol.net自动将asp.net mvc部署到文件共享

Visual studio 2010 使用cruisecontrol.net自动将asp.net mvc部署到文件共享,visual-studio-2010,asp.net-mvc-3,c#-4.0,iis-7.5,web-deployment,Visual Studio 2010,Asp.net Mvc 3,C# 4.0,Iis 7.5,Web Deployment,我一直在努力实现asp.net mvc应用程序的自动化部署。关于这一点,我发现了一些问题,但没有一个答案能真正帮助我 我的要求如下: 不要使用NAnt 不编辑.sln文件。我想对我的dev-box使用相同的文件 部署到文件共享 应该应用web.config转换 我发现了这么多不同的部署技术,我的头都快晕过去了。我现在还不知道该怎么办。请帮忙 ---编辑--- 也许我应该把这句话改写一下;使用MSBuild构建网站项目后。我应该复制什么到文件共享以“部署”我的webapp ---第二版---

我一直在努力实现asp.net mvc应用程序的自动化部署。关于这一点,我发现了一些问题,但没有一个答案能真正帮助我

我的要求如下:

  • 不要使用NAnt
  • 不编辑.sln文件。我想对我的dev-box使用相同的文件
  • 部署到文件共享
  • 应该应用web.config转换
我发现了这么多不同的部署技术,我的头都快晕过去了。我现在还不知道该怎么办。请帮忙

---编辑---

也许我应该把这句话改写一下;使用MSBuild构建网站项目后。我应该复制什么到文件共享以“部署”我的webapp

---第二版---

我将其与桌面应用程序的自动构建和部署进行比较:使用桌面应用程序;您只需使用.sln文件构建它。然后将bin/(debug | release)文件夹中的所有内容复制到您喜欢的目的地。我的问题是。web应用程序中的等价物是什么

---还有一个---

我已经研究了一段时间了。有些事情开始发生了。我现在使用以下方法:

msbuild "siteprojectfile.csproj" /T:Package
这样我就得到了一个zip文件,我可以使用msdeploy。但我似乎无法使用该文件将其部署到文件共享。欢迎提出建议

我现在使用两个步骤:

一,

二,

我可以做一个简单的复制步骤,而不是使用aspnet_编译器,但这也会为我检查视图,如果出现问题,构建就会失败


到目前为止,这非常有效,但我有一种感觉(“PackageTMP”…)尽管如此,这并不是真正的最佳选择。

想知道这是否比上面的两个命令更好?(参考第条)

注意到OP要求文件共享,PublishProfile可以设置为“到磁盘”类型的发布,但允许OP也可以将其更改为web、ftp等。所有这些都需要更改配置。。。我想


此外,其中一些可能只有在VS2012中才被发现,因为VS2010没有像2012年那样对发布文件进行源代码管理的能力。

您可以使用msbuild吗?我已经能够设置msbuild脚本来完成此任务,它们可以通过cc.net运行。@rsbarro:是的,我正在使用msbuild,但我不太愿意编辑.sln/.csproj文件…@MrHappy。。。你在问我的问题。。。谢谢aspnet_编译器。。。是将其放入msdeploy包中,还是在此实例中直接发布到服务器?
MSBuild.exe Site\Site.csproj /p:Configuration=Test /T:Package
aspnet_compiler -nologo -v / -p "Site\obj\Test\Package\PackageTmp" -f "\\server\website"
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test