Msbuild 在msdeploy中指定项目名称
我在一个解决方案中有两个web项目,我希望使用msbuild和WebDeploy部署它们(这是通过CI服务器实现的) 目前,我正在运行一个命令行:Msbuild 在msdeploy中指定项目名称,msbuild,command-line-arguments,msdeploy,Msbuild,Command Line Arguments,Msdeploy,我在一个解决方案中有两个web项目,我希望使用msbuild和WebDeploy部署它们(这是通过CI服务器实现的) 目前,我正在运行一个命令行: C:\ProjectFolder>msbuild <solution>.sln /p:Configuration=<Release> /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p
C:\ProjectFolder>msbuild <solution>.sln
/p:Configuration=<Release>
/p:OutputPath=bin
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https://<ServerUrl:port>/msdeploy.axd
/p:username=<user>
/p:password=<password>
/p:AllowUntrustedCertificate=True
/p:DeployIisAppPath=<SiteName>
/p:MSDeployPublishMethod=WMSVC
C:\ProjectFolder>msbuild.sln
/p:配置=
/p:OutputPath=bin
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https:///msdeploy.axd
/p:用户名=
/p:密码=
/p:AllowUntrustedCertificate=True
/p:部署路径=
/p:MSDeployPublishMethod=WMSVC
正如预期的那样,这将部署一个项目。但是我如何部署另一个呢?这个命令行中没有我指定项目名称的地方-为什么它选择一个项目来部署另一个
理想情况下,我可以使用相同的命令部署两个项目,比如
...
/p:Project=Project1
/p:DeployIisAppPath=<SiteName>/Project1
/p:Project=Project2
/p:DeployIisAppPath=<SiteName>/Project2
。。。
/p:Project=Project1
/p:deployiisappath=/Project1
/p:Project=Project2
/p:deployiisappath=/Project2
但我怀疑这是可能的。或者,我只想知道如何在命令行中指定项目名称。如果从项目的根文件夹运行命令行,并且没有指定要生成的文件,msbuild应该自动选择该文件夹中的项目 这将需要两个单独的命令行调用tho 然后,您可以在此基础上构建一个批处理文件,该批处理文件依次发送到每个文件夹并分别运行msbuild,或者为触发每个生成的msbuild构建您自己的proj文件
对不起,我现在不能在手机上制作一个例子 我认为最好将单个呼叫分成三个:
-建设sln
-部署站点1
-部署站点2
msbuild.exe <solution>.sln
/p:Configuration=<Release>
/p:OutputPath=bin
msbuild.exe project1dir\proj1.csproj
/p:Configuration=<Release>
/p:OutputPath=<Path to common bin>
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https://<ServerUrl:port>/msdeploy.axd
/p:username=<user>
/p:password=<password>
/p:AllowUntrustedCertificate=True
/p:DeployIisAppPath=<SiteName>/Project1
/p:MSDeployPublishMethod=WMSVC
msbuild.exe project1dir\proj2.csproj
/p:Configuration=<Release>
/p:OutputPath=<Path to common bin>
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https://<ServerUrl:port>/msdeploy.axd
/p:username=<user>
/p:password=<password>
/p:AllowUntrustedCertificate=True
/p:DeployIisAppPath=<SiteName>/Project2
/p:MSDeployPublishMethod=WMSVC
msbuild.exe.sln
/p:配置=
/p:OutputPath=bin
msbuild.exe project1dir\proj1.csproj
/p:配置=
/输出路径=
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https:///msdeploy.axd
/p:用户名=
/p:密码=
/p:AllowUntrustedCertificate=True
/p:deployiisappath=/Project1
/p:MSDeployPublishMethod=WMSVC
msbuild.exe project1dir\proj2.csproj
/p:配置=
/输出路径=
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https:///msdeploy.axd
/p:用户名=
/p:密码=
/p:AllowUntrustedCertificate=True
/p:deployiisappath=/Project2
/p:MSDeployPublishMethod=WMSVC
对。我缺少的部分实际上是用项目名而不是解决方案调用msbuild-谢谢您的帮助!