bazel-contrib / bazel-contrib/rules_dotnet

Incompatible handling of NuGet package "build" folder

Open
#388 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
209
Forks
98
Avg merge
3h 59m
Merged PRs (30d)
14

Description

Newer versions of rules_dotnet brought support for the "build" folder that some NuGet packages have. According to #369, this implementation was based on [NETStandard.Library](https://www.nuget.org/packages/NETStandard.Library) as an example of the expected directory structure (where dlls are under framework and lib/ref directories).

However, not all NuGet packages structure their "build" folder in the same way as NETStandard.Library, e.g. [coverlet.collector](https://www.nuget.org/packages/coverlet.collector) and [NUnit3TestAdapter](https://www.nuget.org/packages/NUnit3TestAdapter) have dlls directly under a framework directory and [Microsoft.TestPlatform.TestHost](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost) has dlls under framework and architecture directories. rules_dotnet won't collect these dlls and therefore they won't be available to the build.

Contributor guide

Open the contributing guide

Research direction

No source file, test, or entry point is named. Start by locating the build-folder DLL collection logic and compare its behavior with the layouts of NETStandard.Library, coverlet.collector, NUnit3TestAdapter, and Microsoft.TestPlatform.TestHost. Done means DLLs directly under framework directories and under framework/architecture directories are available to the Bazel build.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.