Include local dll in Azure DevOps pipeline(在Azure DevOps管道中包括本地DLL)
问题描述
在我的C#项目中,我引用了我公司的一个DLL,该DLL不在NuGet上(因为它不是公共的),并且我在Azure DevOps中的管道一直失败,因为它说找不到引用。
Error CS0234: The type or namespace name 'YYY' does not exist in the namespace 'ZZZ' (are you missing an assembly reference?)
按照this post的建议,我在我的解决方案中复制了DLL,并从那里引用它,因此DLL是受版本控制的,并且驻留在repo中。 下面是csproj的摘录:
<Reference Include="ZZZ.YYY, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..PrivateReferencesZZ.YYY.dll</HintPath>
<Private>False</Private>
</Reference>
解决方案完美地构建在我的机器上,但它在Azure上总是失败。我错过了什么?
谢谢!
在Bright Ran-MSFT回复后编辑
以下是我的YAML节选:
trigger:
- develop
pool: 'Default'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Debug'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '**/*.sln'
feedsToUse: 'select'
vstsFeed: '<GUID of my Feed>'
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
推荐答案
您可以将这些DLL作为您自己的自定义NuGet包发布到Azure DevOps上的Azure Artifacts提要。然后,在项目的管道中,您可以使用NuGet restore task将包还原到您的项目中。
发布包后,在本地计算机上通过Visual Studio生成项目时,您还可以连接到Azure项目源以将包还原到您的项目中。
[更新]
您是否检查了管道运行的输出控制台日志,以了解导致包无法恢复的原因?原因是否为未经授权的错误,如401或403?
如果是,则在NuGet还原任务之前,您需要使用NuGet Authenticate task提供身份验证信息。您还需要在此处创建NuGet service connection以供使用。
通常,您为发布自定义程序包而设置的提要是私有的,当访问管道中的提要时,需要进行身份验证。
在您本地的Visual Studio上,由于您使用您的帐户登录,VS将在您连接到源时自动使用您的帐户进行身份验证。
这篇关于在Azure DevOps管道中包括本地DLL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在Azure DevOps管道中包括本地DLL
基础教程推荐
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- WPF 模态进度窗口 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
