繁体   English   中英

通过TFS Visual Studio构建任务发布.csproj

[英]Publishing a .csproj through TFS visual studio build task

对于正在使用的软件,我们在一个解决方案中有多个项目。 在大多数项目中,我们只能构建解决方案,然后发布所需的Web项目的工件。 API和Auth项目虽然略有不同。 当前的部署过程是手动的,对于API(STARS.API.csproj)和Auth(STARS.Auth.csproj)项目,当进入Visual Studio 2017时,右键单击该项目,然后单击“发布”,选择一个配置文件,然后发布。 完成此操作后,我们将使用“发布输出”并将这些文件拖放到我们的服务器上。

我们正在尝试通过TFS进入自动化过程,我在构建定义中使用了Visual Studio Build任务。 但是,当我尝试通过TFS运行它时,出现一条错误消息,指出找不到发布配置文件:

验证PublishProfile(TFSProfile.pubxml)设置。 C:\\ Program Files(x86)\\ Microsoft Visual Studio \\ 2017 \\ Professional \\ MSBuild \\ Microsoft \\ VisualStudio \\ v15.0 \\ Web \\ Microsoft.Web.Publishing.targets(4368,5):错误:已设置PublishProfile的值到“ TFSProfile.pubxml”,则应在“ C:\\ agent_work \\ 4 \\ s \\ STARS \\ Source-dev \\ STARS.Web \\ Properties \\ PublishProfiles \\ TFSProfile.pubxml”中找到该文件,但找不到。

它正在寻找另一个项目文件夹中的发布配置文件。

Visual Studio生成任务:

在此处输入图片说明

我觉得我完全可以解决这个错误。 我只是想复制手动通过Visual Studio 2017发布项目的过程。

如果您需要更多信息,请告诉我。

我建议您开始使用预定义的构建变量 $(Build.SourcesDirectory)将映射到C:\\ agent_work \\ 4 \\ s,然后您可以在其中创建TFSProfile.pubxml的完整路径,无论它在源代码树中是什么位置。 在MB构建参数PublishProfile属性中使用此完整路径,例如

/p:PublishProfile=$(Build.SourcesDirectory)\STARS\Source-dev\STARS-API\TFSProfile.pubxml

您可能遇到的另一个问题是,在“解决方案”字段中您未指定解决方案( .sln),而是指定了一个项目( .csproj)。 我怀疑MSBuild会选择与该csproj相关的解决方案,并构建整个解决方案,这就是为什么它要在STARS.Web中寻找发布配置文件。 您是否为STARS.API创建了发布配置文件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM