dotnet / dotnet/msbuild

CopyNugetImplementations and nuget runtimes

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

Description

Ran into this issue with grpc and xunit: https://github.com/grpc/grpc/issues/12154#issuecomment-327006312

> Grpc is finding runtimes by looking relative to assembly location of grpc.core.dll.
> https://github.com/grpc/grpc/blob/master/src/csharp/Grpc.Core/Internal/NativeExtension.cs#L106
>
> For most projects, dependencies are not copied to output directory, so grpc.core.dll is found in the nuget cache location of runtimeconfig.dev.json additionalProbingPaths. Xunit test projects set CopyNugetImplementations, which drops all .dlls in output directory https://github.com/xunit/xunit/blob/master/src/xunit.core/build/xunit.core.props#L6
>
> A workaround is to delete grpc.core.dll from the output folder prior to running tests - it will be found via additionalProbingPaths in a location that correctly references runtimes.

It may be a good idea to copy/link the runtimes folder to the output directory for a project with CopyNugetImplementations

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.