是否有内置在中使用MSDeploy在远程服务器上执行MSBuild目标的方法?
如果我在我的项目中包含一个目标文件,以便它被部署,是否有一个内置的方式或执行msbuild.exe?我知道我可以使用runCommand
,但然后msbuild.exe的路径可能是错误的。
我从来没有听说过从webdeploy执行MsBuild的内置方法。我甚至不认为这一定是一个有效的想法,有这样一个内置的方式,目标机可以有几个版本的msbuild共存(v2.03.54.5等)-你怎么告诉msDeploy使用哪个?
我建议您使用runCommand
并使用系统变量参考msBuild: %WinDir%Microsoft.NetFrameworkv4.0.30319
请记住,框架版本移动相当缓慢,您是安全的(您通常知道,您的目标是哪个版本的框架)
UPD:如果你想要一个更好的方法来找到msbuild位置-检查这个答案(从注册表中读取)
参考
上的答案MSBuild中的Exec Task用于在远程机器上执行命令
MSBuild没有内置的远程机器安装支持,只执行你告诉它的命令,并从那里继续。在我们的地方,我们在远程机器上安装了服务,它一直监视我们的发布文件夹。一旦一个新项目(包含所有文件的压缩项目)变得可用,它将执行我们的发布操作。在您的场景中也可能类似。