dotnet / dotnet/msbuild

Reference of reference of references are not copied (Missing assemblies).

Open
#5,135 6 comments 2 reactions 0 assignees View on GitHub
Area: Common Targets triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

### Steps to reproduce

See attached zipped project.
[MsbuildIssue.zip](https://github.com/microsoft/msbuild/files/4226845/MsbuildIssue.zip)

When a project library, say `LibraryA`, references external packages, say `Microsoft.Extensions.Logging.Console` and another library reference `LibraryA`, `LibraryB` and an application references `LibraryB`, some referenced assemblies are not copied over and thus, the application cannot run.

### MSBuild Command

`msbuild MsbuildIssue.sln` or build it in Visual Studio 2019.

### Expected behavior
These assemblies to be found in the folder of the application.

- Microsoft.Win32.Primitives.dll
- Microsoft.Bcl.AsyncInterfaces.dll
- Microsoft.Bcl.AsyncInterfaces.xml
- Microsoft.Extensions.Configuration.Abstractions.dll
- Microsoft.Extensions.Configuration.Abstractions.xml
- Microsoft.Extensions.Configuration.Binder.dll
- Microsoft.Extensions.Configuration.Binder.xml
- Microsoft.Extensions.Configuration.dll
- Microsoft.Extensions.Configuration.xml
- Microsoft.Extensions.DependencyInjection.Abstractions.dll
- Microsoft.Extensions.DependencyInjection.Abstractions.xml
- Microsoft.Extensions.DependencyInjection.dll
- Microsoft.Extensions.DependencyInjection.xml
- Microsoft.Extensions.Logging.Abstractions.dll
- Microsoft.Extensions.Logging.Abstractions.xml
- Microsoft.Extensions.Logging.Configuration.dll
- Microsoft.Extensions.Logging.Configuration.xml
- Microsoft.Extensions.Logging.Console.dll
- Microsoft.Extensions.Logging.Console.xml
- Microsoft.Extensions.Logging.dll
- Microsoft.Extensions.Logging.xml
- Microsoft.Extensions.Options.ConfigurationExtensions.dll
- Microsoft.Extensions.Options.ConfigurationExtensions.xml
- Microsoft.Extensions.Options.dll
- Microsoft.Extensions.Options.xml
- Microsoft.Extensions.Primitives.dll
- Microsoft.Extensions.Primitives.xml

### Actual behavior
Only these assemblies are available.

- Microsoft.Bcl.AsyncInterfaces.dll
- Microsoft.Bcl.AsyncInterfaces.xml
- Microsoft.Extensions.DependencyInjection.Abstractions.dll
- Microsoft.Extensions.DependencyInjection.Abstractions.xml
- Microsoft.Extensions.DependencyInjection.dll
- Microsoft.Extensions.DependencyInjection.xml
- Microsoft.Extensions.Logging.Abstractions.dll
- Microsoft.Extensions.Logging.Abstractions.xml
- Microsoft.Extensions.Logging.Console.dll
- Microsoft.Extensions.Logging.Console.xml
- Microsoft.Extensions.Logging.dll
- Microsoft.Extensions.Logging.xml
- Microsoft.Extensions.Options.dll
- Microsoft.Extensions.Options.xml
- netstandard.dll

The application crash at runtime because of this:
```
System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Extensions.Logging.Configuration, Version=3.1.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The system cannot find the file specified.'
```

### Environment data
`msbuild /version` output:

```text
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

16.4.0.56107
```

OS info:

Windows 10 Pro Build 18362.592

If applicable, version of the tool that invokes MSBuild (Visual Studio, dotnet CLI, etc):

Visual Studio 2019 16.4.2

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.