加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何使用命令行msbuild部署VS2012网站项目,而无需预

发布时间:2020-12-15 19:12:17 所属栏目:asp.Net 来源:网络整理
导读:我继承了一个非常大的VS2012网站项目(而不是Web应用程序),我试图自动化它的部署。在项目中有吨的循环引用,以便得到它预编译使用aspnet_compiler.exe我必须打开固定的名称。问题是,它导致构建在我的四核,16gb ram,ssd开发人员机器大约需要20分钟。以前的
我继承了一个非常大的VS2012网站项目(而不是Web应用程序),我试图自动化它的部署。在项目中有吨的循环引用,以便得到它预编译使用aspnet_compiler.exe我必须打开固定的名称。问题是,它导致构建在我的四核,16gb ram,ssd开发人员机器大约需要20分钟。以前的开发人员不必处理这个,因为他只需将整个源复制到生产Web服务器。

所以在我处理循环引用问题我想至少自动部署项目使用msdeploy。我可以使用在visual studio中的发布配置文件,它的确是我想要的:

>构建引用的DLL并将它们添加到项目中。
> web.config转换。
>甚至没有尝试构建网站,而只是打包成一个zip文件为我。

我无法弄清楚我的生活是如何让MSBuild.exe做同样的事情!

MSBuild.exe WebProject.vs2012.sln /m /T:Build 
    /p:Configuration=Release`;DeployOnBuild=true`;PublishProfile=TestDeploy

上面的命令仍然尝试执行aspnet_compiler这不是我想要的。发布配置文件说,它不应该被预编译…但在日志中,我看到它执行它。

所以:如何使用msbuild部署一个网站项目而不预先编译?

解决方法

对于网站项目,发布过程不会直接进入构建过程。对于网站项目,因为没有正式的构建过程,我们没有什么可以真正扩展。

注意:以下内容需要有VS 2012(或VS2010为此)和Azure SDK之上。这些特性不包括在VS2012的RTM下降中。

在VS中创建发布配置文件后,将创建以下内容:

> App_Data / PublishProfiles下的发布配置文件(.pubxml文件)
>网站根目录下的website.publishproj

website.publishproj的目的是方便命令行发布。它是.csproj / .vbproj的一个填充,你通常在使用Web应用程序项目时会得到。

如果要自动发布,可以使用如下命令。

msbuild.exe website.publishproj /p:DeployOnBuild=true 
   /p:PublishProfile=<profile-name-no-extension> /p:VisualStudioVersion=11.0

您不必指定调用的目标。

关于VS中的消息,网站正在预编译,这是一个错误。它通过预编译运行,但发布使用配置文件中的设置。这个bug应该在Visual Studio Update 1修复。安装后,你不应该看到不必要的预编译步骤。请让我知道,如果你仍然看到。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读