如何使图像通过VSTS(Azure DevOps)构建管道发布到Azure

时间:2018-10-05 17:00:45

标签: azure asp.net-core azure-devops azure-pipelines asp.net-core-2.1

我已经将几个图像添加到asp.net核心MVC项目的wwroot / images文件夹中。它们被包含并在本地显示得很好,但是当它们通过AzureDevOps管道发布时,图像不会出现。

我查看了Kudu中的wwroot,确定文件不在Azure的images目录中,并且在AzureDevOps中查看了构建命令行结果,并且可以看到这些图像的copy命令不存在。不会在MSBuild上运行,而是将复制基础项目模板中的原始banner.svg图像。

我做了一个搜索文件,发现有一个名为project.assets.json的文件,其中包含原始图像的声明,但不包含我添加到项目中的图像。我怀疑问题出在新图像未添加到project.assets.json文件中。该文件似乎是自动生成的。我确实认为新图像的构建动作为“内容”,并且我什至尝试设置始终复制但无济于事。我在想我还需要做些其他事情,以使这些文件在构建时包含在project.assets.json中。

任何人都知道如何通过Azure DevOps中的生成脚本来添加和识别新图像吗?

2 个答案:

答案 0 :(得分:1)

您的csproj文件很可能没有适当的元素将这些文件包含在发布中。尝试在本地发布一个点网,然后查看文件是否显示在输出目录中。如果他们这样做,那么您只需要在相同的提交上运行same.net publish命令。如果没有,则您需要更新CS项目文件以包括这些文件,然后重试在本地发布的dotnet以验证问题已解决

答案 1 :(得分:0)

我发现,如果将图像添加到wwroot文件夹中,它们将被添加到本地wwroot中,但从未添加到源代码管理中的wwroot文件夹中。我去了,将丢失的图像添加到了源代码管理的wwroot / images文件夹中,并检入了它们。之后发布顺利进行了。我尝试将图像复制/粘贴到图像文件夹,然后右键单击>添加>现有项目,但都没有将添加操作识别为源中的待处理更改。不确定这是VS中的错误还是什么。