Web applications 使用Web部署包使用TFS 2017构建和部署Web应用程序

Web applications 使用Web部署包使用TFS 2017构建和部署Web应用程序,web-applications,deployment,tfs,continuous-integration,release,Web Applications,Deployment,Tfs,Continuous Integration,Release,我的问题与此类似 但是,这个解决方案对我不起作用。我正在进行持续集成,我必须部署一个Web应用程序和其他网站,我在为部署创建.zip包时没有遇到任何问题。我正在使用/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:packageassingfile=true/p:SkipInvalidConfigurations=true/p:PackageLocation=“$(Build.StagingDirectory)\\” 然后,我使用Deploy

我的问题与此类似

但是,这个解决方案对我不起作用。我正在进行持续集成,我必须部署一个Web应用程序和其他网站,我在为部署创建.zip包时没有遇到任何问题。我正在使用
/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:packageassingfile=true/p:SkipInvalidConfigurations=true/p:PackageLocation=“$(Build.StagingDirectory)\\”

然后,我使用DeployIIS应用程序在网站的虚拟目录中提取.zip包

但是对于Web应用程序,无论我在MSBuild参数中使用什么参数,都不起作用,而且我不希望将所有文件从项目复制到服务器,并且我希望使用不同于从服务器发布后删除.sln和其他文件的选项

我尝试了
/p:DeployOnBuild=True/p:PublishProfile=$(DeploymentConfiguration)
并使用了作为Web部署包创建的发布配置文件,但在构建工件后,我得到了相同的文件,我指的是包括.sln在内的所有项目文件

当我使用
/p:DeployOnBuild=True/p:PublishProfile=$(DeploymentConfiguration)
时,我不确定在工件中应该期望什么,但我没有看到变化

有人能告诉我在这种情况下我应该等什么吗??以及如何使用TFS正确部署Web应用程序项目(因为当我使用.pubxml从Visual Studio发布时效果很好,在服务器中只复制了权限文件),其思想是在TFS中进行构建和发布,无需使用Visal Studio的任何手册


欢迎您提供任何想法和解释,谢谢。

若要将参数传递到MSBuild,您需要在项目属性文件夹下的PublishProfiles文件夹中有一个
.pubxml
文件(称为发布配置文件)。这就是为什么使用
/p:DeployOnBuild=true;PublishProfile=MyProfile
作为msbuild参数。更多详细信息,请参阅Sayed Ibrahim Hashimi的问题:

如果您想生成工件,请确保您也使用构建步骤。复制生成的工件并将工件发布到服务器上的放置位置。这将是以后为发布选择构建工件的位置。这些文件将位于暂存文件夹--
Build.StagingDirectory
类似于
agent/\u work/2/a


有关更多详细信息,请参阅本主题

在我查看生成定义的TFS选项之前,一切都不正常。当您必须为定义选择模板时,您可以看到两个选项“生成”和“部署”,我选择了生成的模板,但尝试了部署选项:

默认情况下,在MSBuild参数中,参数为:
/p:OutDir=“$(build.binariesdirectory)\\”


在该文件夹中,我们拥有部署所需的所有内容。

它在我这边很好地工作,具有
/p:PublishProfile=profile name
确保您使用了正确的配置文件名称。您可以在生成定义中共享整个生成日志和设置吗?