ChilliCream / graphql-platform

Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE.
https://chillicream.com
MIT License
5.24k stars 744 forks source link

Settings file 'DotnetToolSettings.xml' was not found in the package. Hotchocolate.fusion.commandline for version 14.0.0 #7650

Open Christine-Schneidenwind opened 1 week ago

Christine-Schneidenwind commented 1 week ago

Product

Hot Chocolate

Version

14.0.0

Link to minimal reproduction

https://github.com/Christine-Schneidenwind/FusionCommandLineRestore

Steps to reproduce

I tried to use hotchocolate.fusion.commandline in version 14.0.0

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "hotchocolate.fusion.commandline": {
      "version": "14.0.0",
      "commands": [
        "fusion"
      ]
    }
  }
}

dotnet --version 8.0.401

What is expected?

A successful restore

What is actually happening?

I will get the following error

Unhandled exception: Microsoft.DotNet.ToolPackage.ToolConfigurationException: Settings file 'DotnetToolSettings.xml' was not found in the package.
   at Microsoft.DotNet.ToolPackage.ToolPackageInstance.DeserializeToolConfiguration(LockFileTargetLibrary library)
   at Microsoft.DotNet.ToolPackage.ToolPackageInstance.GetToolConfiguration()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   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.Restore.ToolRestoreCommand.InstallPackages(ToolManifestPackage package, Nullable`1 configFile)
   at System.Linq.Enumerable.SelectArrayIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Microsoft.DotNet.Tools.Tool.Restore.ToolRestoreCommand.Execute()
   at System.CommandLine.Invocation.InvocationPipeline.Invoke(ParseResult parseResult)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)

Relevant log output

No response

Additional context

No response

michaelstaib commented 1 week ago

We also had this once and it is a local caching issue of the tooling.

Try to uninstall and install the tool again and it should work.

If that does not help, clear the tooling and package cache and retry uninstalling and installing the tool.