azure-devops | aspnet-core | dotnet-core

Azure DevOps Build - Could not locate the assembly

.NET Core build failing for Azure DevOps? Check if there is any assembly reference and replace it with proper NuGet package.

Abhith Rajan
Abhith RajanJanuary 23, 2020 · 1 min read · Last Updated:

We were configuring CI/CD for one of our .NET Core 3.1 API project in the Azure DevOps. When trying dotnet build from our local workstation, it was successfull but when CI triggered the build on the Azure DevOps, it was failing.

The Azure Pipeline yml looks like,

pool:
  vmImage: "windows-latest"

variables:
  buildConfiguration: "Release"

steps:
  - task: DotNetCoreCLI@2
    displayName: "dotnet build $(buildConfiguration)"
    inputs:
      command: "build"
      projects: |
        path/to/project/*.csproj
      arguments: "--configuration $(buildConfiguration)"

The build step successfully restored the NuGet packages which we can see in the logs,

Restore completed in 14.41 sec for d:\a\1\s\path\to\project\Project.Name.csproj.

But the step was failing with the following reference missing error.

C:\Program Files\dotnet\sdk\3.1.100\Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly “System.ComponentModel.Annotations”. Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [d:\a\1\s\path\to\project\Project.Name.csproj]

Azure DevOps Build Error
Azure DevOps Build Error

When checked the project reference, found out that the reference to System.ComponentModel.Annotations was added from assembly instead of Nuget. Fixed it by removing the assembly reference and adding the NuGet package of System.ComponentModel.Annotations.

DotNet Core Reference Fix
DotNet Core Reference Fix

Commited the changes and initiated a hotfix release. Tada, the build succeeded.

This page is open source. Noticed a typo? Or something unclear?
Improve this page on GitHub


Abhith Rajan

Written byAbhith Rajan
Abhith Rajan is a software engineer by day and a full-stack developer by night. He's coding for almost a decade now. He codes 🧑‍💻, write ✍️, learn 📖 and advocate 👍.
Connect

Is this page helpful?

Related ArticlesView All

Related VideosView All

Azure DevOps Boards - Customize the Process (new item types, backlog levels, states, layout & rules)

How To Do Sprint Planning And Create Product Backlog Using Azure DevOps Boards |Azure DevOps Sprints

Retrospectives: Be Agile and Thrive - YouTube

Related Tools & ServicesView All

flurl.dev

Flurl

Flurl is a modern, fluent, asynchronous, testable, portable, buzzword-laden URL builder and HTTP client library for .NET.