# Azure DevOps 踩坑
让.netCore 2.0 的测试在 Azure DevOps 中正确运行需要注意几个地方
- 要增加.netCore 的测试程序集目录;
- 设置 Speceific location:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform
设置 Other console options:/Framework:".NETCoreApp,Version=v2.0"
- 默认配置会包含 xunit(我是使用的 xunit)的测试程序集,这个是不需要的,会导致测试过程报错,需要将其排除。
将程序集打包发布到 Nuget 并支持远程调试
- 程序集的项目文件需要加入打包相关配置:
<!-- Optional: Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<!-- Optional: Embed source files that are not tracked by the source control manager in the PDB -->
<EmbedUntrackedSources>false</EmbedUntrackedSources>
<!-- Optional: Build symbol package (.snupkg) to distribute the PDB containing Source Link -->
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
特别是License
节点,在本地 push 的时候不会出问题,在 Azure DevOps 环境下 Push 没有这个会出问题,不能够远程调试。
- 引入
SourceLink
程序集,下面是以代码提交到 GitHub 为例:
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
</ItemGroup>
其他平台对应的 lib 可参考 https://github.com/dotnet/sourcelink
-
然后将程序集 push 到 nuget.org 时也会同时将
snupkg
文件 push 到符号服务器 -
要使用远程调试需要对 Visual Studio 做一些配置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义