我已经创建了一个新的管道,目的是获取一个Git回购和推动一个包到八达通。
问题是,它在八达通软件包步骤失败与System.IO.DirectoryNotFoundException。
在前面的.NET核心发布步骤中,文件将被拖放到位置。
'C:\vstsagent\vsts-agent-win-x86-2.142.1\_work\35\\**s**\\MyProject.csproj'但是章鱼一步一步往里看
'C:\vstsagent\vsts-agent-win-x86-2.142.1\_work\35\\**a**\\MyProject'区别在于目录's‘和'a’之间的区别。
我们在DevOps中有许多其他管道,我已经将其与类似的管道进行了比较,除了项目名称之外,找不到任何不同之处。
发布于 2022-04-12 11:01:03
如果多个签出存储库(s/repo1,s/repo2),则的文件夹是源代码在根文件夹或其他文件夹下签出的地方。
a文件夹是Build.ArtifactStagingDirectory,它是一个特殊用途文件夹,许多任务都可以在该文件夹上输出其结果。
您应该将发布任务更改为特定位置,或者将octopus步骤更改为从s文件夹读取。
您还可以使用powershell递归地将文件夹的内容复制到s中,这个问题可以得到解决。
Copy-Item "$(Build.SourcesDirectory)/*" -Destination "$(Build.ArtifactStagingDirectory)" -Recurse最好的选择是使用八达通实现并构建任务,而不是使用powershell。
有关Azure DevOps上预定义变量的更多信息:
https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml
https://stackoverflow.com/questions/71841082
复制相似问题