Skip to content

dotnet-ef isn't packed properly on MacOS #33165

Open
@msaussac

Description

@msaussac

Summary

I am on MacOS and I am trying to use local version of dotnet-ef tool.
I found and following page : https://github.com/dotnet/efcore/blob/main/docs/getting-and-building-the-code.md#building-local-packages

I am building local package with :
./build.sh --pack

The successfully result :

[...]
Successfully created package '[...]/efcore/artifacts/packages/Debug/Shipping/Microsoft.EntityFrameworkCore.Specification.Tests.9.0.0-dev.symbols.nupkg'.

Build succeeded.
    0 Warning(s)
    0 Error(s)

In another folder, I created a NuGet.Config file with local packages reference :

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Local" value="[...]\efcore\artifacts\packages\Debug\Shipping" />
  </packageSources>
</configuration>

I generated tool-manifest with :
dotnet new tool-manifest

I am trying to install dotnet tool with :
dotnet tool install dotnet-ef --version 9.0.0-dev --local

Error :

Unhandled exception: Microsoft.DotNet.ToolPackage.ToolConfigurationException: Entry point file 'dotnet-ef.dll' for command 'dotnet-ef' was not found in the package.
   at Microsoft.DotNet.ToolPackage.ToolPackageInstance.GetCommands()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   at Microsoft.DotNet.Tools.Tool.Install.ToolInstallLocalCommand.Install(FilePath manifestFile)
   at System.CommandLine.Invocation.InvocationPipeline.Invoke(ParseResult parseResult)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)

I performed the same operation on Windows successfully.

I am trying to analyze the differences between macOS and Windows nuget package. I am unzipped the package nuget dotnet-ef.9.0.0-dev.nupkg.
I can't find the file dotnet-ef.dll on macOS.

Include provider and version information

EF Core version: 8.0.101
Operating system: MacOS Sonoma 14.3.1

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions