Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An assembly specified in the application dependencies manifest was not found #737

Closed
eduherminio opened this issue Apr 15, 2020 · 5 comments
Labels
closed:done is:bug resolution:known We have a resolution for this, which is described in the issue, under heading Resolution
Milestone

Comments

@eduherminio
Copy link

When upgrading NUnit3TestAdapter package to 3.16.1 via Visual Studio in a .NET Core 3.1 project, it automatically adds PrivateAssets and IncludeAssets like this:

    <PackageReference Include="NUnit3TestAdapter" Version="3.16.1">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>

That makes some tests invoked by dotnet vstest fail when run inside of a docker container based on mcr.microsoft.com/dotnet/core/sdk:3.1.201-bionic.

We've suffered 2 different errors so far, one of them being:

Testhost process exited with error: Error:
      An assembly specified in the application dependencies manifest (XXXXXXX.deps.json) was not found:
        package: 'Microsoft.Win32.Registry', version: '4.3.0'
        path: 'runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll'

The other one, whose logs I don't longer have access to, was also indicating some issue with a dll inside of lib/netstandardXX.

We are unable to reproduce this either via VisualStudio or with dotnet vstest, just inside of a docker container based on the sdk image.

Removing PrivateAssets and IncludeAssets was the solution to workaround this issue.

@OsirisTerje
Copy link
Member

@jnm2 Can you comment on this, please?

@jnm2
Copy link
Contributor

jnm2 commented Apr 18, 2020

PrivateAssets and IncludeAssets are added if you use the .NET SDK to reference a NuGet package that has developmentDependency="true" in its .nuspec file.

A development dependency is one that is not used at runtime, only at build time. I suspect that it doesn't make sense for us to be marking the adapter package as such. Do you know of any reason in favor of keeping developmentDependency="true"?

@OsirisTerje
Copy link
Member

Thanks @jnm2 !!
Actually not....... I think that was added way back in time, since the adapter is only used during development, but then again, it is only added to the test projects, so it sort of has no additional meaning then. So we can then just set that to false.

@OsirisTerje OsirisTerje added is:bug resolution:known We have a resolution for this, which is described in the issue, under heading Resolution labels Apr 19, 2020
@OsirisTerje OsirisTerje added this to the 3.17 milestone Apr 19, 2020
@OsirisTerje
Copy link
Member

@eduherminio Beta released on Nuget, see https://www.nuget.org/packages/NUnit3TestAdapter/3.17.0-beta.1 . Please check that it works :-)

@eduherminio
Copy link
Author

Looks good to me, thanks @OsirisTerje!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed:done is:bug resolution:known We have a resolution for this, which is described in the issue, under heading Resolution
Projects
None yet
Development

No branches or pull requests

3 participants