我正在尝试使用MSDeploy在TFS的Team Build上部署Web应用程序。有一些问题涉及到必须在MSBuild中传递的属性,以便调用MSDeploy,但是我没有找到足够的文档说明可用的属性有哪些。是否有人有可用属性的列表?
以下是我找到的一些问题,但我没有找到属性的明确列表:
我正在尝试使用MSDeploy在TFS的Team Build上部署Web应用程序。有一些问题涉及到必须在MSBuild中传递的属性,以便调用MSDeploy,但是我没有找到足够的文档说明可用的属性有哪些。是否有人有可用属性的列表?
以下是我找到的一些问题,但我没有找到属性的明确列表:
以下是我为自己参考编制的列表,以及可以使用的一些合法值。请注意,这些值使用/p:<PropertyName>=<Value>
语法传递给MSBuild。
很不幸,目前关于此的文档几乎不存在。如果各种博客文章和论坛帖子不够全面,您可以查看 MSDeploy 使用的 .target 文件,以了解各种属性的使用方式,但需要花费大量时间来浏览大量的 XML。
在我的机器上,它位于这里:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets
PropertyGroup
标签包含您可以传递给 MSBuild 的参数。 - bowserm我不知道这是否是你要找的,但你可以使用msdeploy
命令并带上/?
参数,它会显示一个有效参数列表。
WebDeploy配置一个自包含的.NET Core2应用程序。注意两个必需属性:
缺少RuntimeIdentifier会抛出以下错误:
error NETSDK1031:构建或发布自包含应用程序时未指定RuntimeIdentifier是不支持的。请指定RuntimeIdentifier或将SelfContained设置为false。
缺少DeployIisAppPath可能会抛出以下错误:
错误:属性'DeployIisAppPath'必须非空。
如果您将参数传递给dotnet publish,请避免使用/p:DeployOnBuild=false产生循环依赖。
错误MSB4006:目标依赖项图中涉及目标“Publish”的循环依赖关系。
完整的命令行WebDeploy配置:
/P:WebPublishMethod=MSDeploy
/P:DeployOnBuild=True
/P:DeployTarget=MsDeployPublish
/P:TargetFramework=netcoreapp2.0
/P:SelfContained=true
/P:MsDeployServiceUrl=https://my_subdomain.jobit.io:8172/MsDeploy.axd?site=subdomain_path
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True
/P:UserName=OTB
/P:Password=Expert
/P:RuntimeIdentifier=win-x86
/P:DeployIisAppPath=subdomain_path
这里有更多关于Sharepoint的内容https://msdn.microsoft.com/en-us/ff622991.aspx
在构建中创建一个包: /p:IsPackaging=true
在相同的输出目录设置发布目录: /p:PublishDir= 当您的解决方案包含多个应用程序项目时,请设置以下参数以生成特定于应用程序的发布目录。 /p:AppSpecificPublishOutputs=true
/p:SkipExtraFilesOnServer=True
这相当于使用WebDeploy进行右键发布时的复选框:“在目标位置保留额外文件(不要删除)”。 - Ben Barreth/p:ProjectParametersXMLFile=parameters_release.xml
,它将指向另一个用于Web部署包和发布的参数文件。 - cederlof