Closed mdmsua closed 3 years ago
Having the same issue on x64 mac using 6.0.100-preview.5.21302.13
delneg@tests-MacBook-Pro /tmp [1]> dotnet workload update
System.ArgumentException: An item with the same key has already been added. Key: microsoft-tvos-sdk-full
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) in System.Private.CoreLib.dll:token 0x60062cb+0x1a0
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) in System.Private.CoreLib.dll:token 0x60062be+0x0
at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.RefreshWorkloadManifests() in Microsoft.DotNet.TemplateLocator.dll:token 0x6000065+0x1b2
at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver..ctor(IWorkloadManifestProvider manifestProvider, String[] dotnetRootPaths, String[] currentRuntimeIdentifiers) in Microsoft.DotNet.TemplateLocator.dll:token 0x6000064+0x31
at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.Create(IWorkloadManifestProvider manifestProvider, String dotnetRootPath, String sdkVersion) in Microsoft.DotNet.TemplateLocator.dll:token 0x6000062+0x8a
at Microsoft.DotNet.Workloads.Workload.Update.WorkloadUpdateCommand..ctor(ParseResult parseResult, IReporter reporter, IWorkloadResolver workloadResolver, IInstaller workloadInstaller, INuGetPackageDownloader nugetPackageDownloader, IWorkloadManifestUpdater workloadManifestUpdater, String dotnetDir, String userHome, String version) in dotnet.dll:token 0x6000153+0xb8
at Microsoft.DotNet.Workloads.Workload.WorkloadCommand.<get_SubCommands>b__9_2(ParseResult appliedOption) in dotnet.dll:token 0x600014a+0x0
at Microsoft.DotNet.Cli.DotNetTopLevelCommandBase.RunCommand(String[] args) in dotnet.dll:token 0x60008ca+0x44
at Microsoft.DotNet.Workloads.Workload.WorkloadCommand.Run(String[] args) in dotnet.dll:token 0x6000146+0x6
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient) in dotnet.dll:token 0x6000933+0x2e8
at Microsoft.DotNet.Cli.Program.Main(String[] args) in dotnet.dll:token 0x6000931+0x6f
Edit: the issue was resolved by downloading 6.0.100-preview.6.21319.1 from README of this repo.
Manually removing old "Microsoft.NET.Workload.*" also resolves the issue
[Workaround] Thanks for reporting this. I’ve created a PR to update the known issues to cover this: https://github.com/dotnet/core/pull/6396
To get Preview 5 working, install Preview 5 again and then apply one of the following workarounds:
In the .NET SDK installation folder, delete all folders under sdk-manifests\6.0.100 (for example, under C:\Program Files\dotnet\sdk-manifests\6.0.100) that have the form Microsoft.NET.Workload.*, EXCEPT for microsoft.net.workload.mono.toolchain
Or
If you want to use .NET Maui, you can run the latest version of the maui-check tool. This will delete the outdated manifest folders and set up your environment for .NET Maui development.
After upgrading from preview.4, 6.0.100-preview.5.21302.13 throws "An item with the same key has already been added" exception on every invocation of "dotnet new" command:
The reason is duplicated workload entries in SDK manifests:
I suppose Microsoft.NET.Workload. folders are leftovers after preview 4, cause the directory modification timestamp corresponds to the point when I've installed preview 4:
Is it safe to simply those?