asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – 如何使用命令行msbuild部署VS2012网站项目,而无需预编译?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我继承了一个非常大的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修复。安装后,你不应该看到不必要的预编译步骤。请让我知道,如果你仍然看到。

大佬总结

以上是大佬教程为你收集整理的asp.net – 如何使用命令行msbuild部署VS2012网站项目,而无需预编译?全部内容,希望文章能够帮你解决asp.net – 如何使用命令行msbuild部署VS2012网站项目,而无需预编译?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: