runtime: Cannot load project after update to 17.4

This issue has been moved from a ticket on Developer Community.


[severity:I’m unable to use this version] [regression] [worked-in:17.3.6]
After I updated from 17.3.6 to 17.4, I can no longer load a Blazor wasm project in my solution. Trying to “Reload project with dependencies” results in the following error:

C:\Users[…]\Documents\Programme[…].csproj : error : The result “” of evaluating the value “$(JsonToItemsTaskFactoryTasksAssemblyPath)” of the “AssemblyFile” attribute in element is not valid. C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.11\Sdk\WasmApp.Native.targets

Trying to build the solution results in

Error NETSDK1147 To build this project, the following workloads must be installed: wasm-tools-net6
To install these workloads, run the following command: dotnet workload restore […] C:\Program Files\dotnet\sdk\7.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets 38

Runing dotnet workload restore delivers

Unhandled exception: Microsoft.Build.Exceptions.InvalidProjectFileException: The result “” of evaluating the value “$(JsonToItemsTaskFactoryTasksAssemblyPath)” of the “AssemblyFile” attribute in element  is not valid. C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.11\Sdk\WasmApp.Native.targets  
at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)  
at Microsoft.Build.Shared.ProjectErrorUtilities.VerifyThrowInvalidProject[T1,T2,T3,T4](Boolean condition, String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, T1 arg0, T2 arg1, T3 arg2, T4 arg3)  
at Microsoft.Build.Shared.ProjectErrorUtilities.VerifyThrowInvalidProject[T1,T2,T3,T4](Boolean condition, IElementLocation elementLocation, String resourceName, T1 arg0, T2 arg1, T3 arg2, T4 arg3)  
at Microsoft.Build.Execution.TaskRegistry.RegisterTasksFromUsingTaskElement[P,I](ILoggingService loggingService, BuildEventContext buildEventContext, String directoryOfImportingFile, ProjectUsingTaskElement projectUsingTaskXml, TaskRegistry taskRegistry, Expander`2 expander, ExpanderOptions expanderOptions, IFileSystem fileSystem) at Microsoft.Build.Evaluation.Evaluator`4.EvaluateUsingTaskElement(String directoryOfImportingFile, ProjectUsingTaskElement projectUsingTaskElement)  
at Microsoft.Build.Evaluation.Evaluator`4.Evaluate() at Microsoft.Build.Evaluation.Evaluator`4.Evaluate(IEvaluatorData`4 data, Project project, ProjectRootElement root, ProjectLoadSettings loadSettings, Int32 maxNodeCount, PropertyDictionary`1 environmentProperties, ILoggingService loggingService, IItemFactory`2 itemFactory, IToolsetProvider toolsetProvider, ProjectRootElementCacheBase projectRootElementCache, BuildEventContext buildEventContext, ISdkResolverService sdkResolverService, Int32 submissionId, EvaluationContext evaluationContext, Boolean interactive) at Microsoft.Build.Execution.ProjectInstance.Initialize(ProjectRootElement xml, IDictionary`2 globalProperties, String explicitToolsVersion, String explicitSubToolsetVersion, Int32 visualStudioVersionFromSolution, BuildParameters buildParameters, ILoggingService loggingService, BuildEventContext buildEventContext, ISdkResolverService sdkResolverService, Int32 submissionId, Nullable`1 projectLoadSettings, EvaluationContext evaluationContext) at Microsoft.Build.Execution.ProjectInstance..ctor(String projectFile, IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectCollection projectCollection, Nullable`1 projectLoadSettings, EvaluationContext evaluationContext) at Microsoft.Build.Execution.ProjectInstance..ctor(String projectFile, IDictionary`2 globalProperties, String toolsVersion)  
at Microsoft.DotNet.Workloads.Workload.Restore.WorkloadRestoreCommand.RunTargetToGetWorkloadIds(IEnumerable`1 allProjects)  
at Microsoft.DotNet.Workloads.Workload.Restore.WorkloadRestoreCommand.Execute()  
at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<b__0>d.MoveNext()  
— End of stack trace from previous location —  
at Microsoft.DotNet.Cli.Parser.<>c__DisplayClass17_0.<b__0>d.MoveNext()  
— End of stack trace from previous location —  
at System.CommandLine.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<b__0>d.MoveNext()  
— End of stack trace from previous location —  
at System.CommandLine.CommandLineBuilderExtensions.<>c.<b__17_0>d.MoveNext()  
— End of stack trace from previous location —  
at System.CommandLine.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<b__0>d.MoveNext()  
— End of stack trace from previous location —  
at System.CommandLine.CommandLineBuilderExtensions.<>c__DisplayClass7_0.<b__0>d.MoveNext()

I downgraded to 17.3.6 and everything works well.


Original Comments

Feedback Bot on 11/9/2022, 06:57 PM:

(private comment, text removed)


Original Solutions

(no solutions)

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 26 (15 by maintainers)

Most upvoted comments

Thank you for the binlog!

There are the 3 directories

  • Microsoft.AspNetCore.App.Ref
  • Microsoft.NETCore.App.Ref
  • Microsoft.WindowsDesktop.App.Ref
  1. Can you check this again? Looking at the binlog there are also Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.11\, and Microsoft.NET.Runtime.WebAssembly.Sdk\7.0.0\, but what other packs and versions are there?

  2. What does dotnet workload list show on the command line?

  3. This looks like an instance of https://github.com/dotnet/sdk/issues/21032 . The binlog shows:

                   SDK "Microsoft.NET.Runtime.MonoTargets.Sdk.net6" wird aufgelöst...
                   SDK "Microsoft.NET.Runtime.WebAssembly.Sdk.net6" wird aufgelöst...

… that msbuild tries to import both SDKs, but is only able to load Microsoft.NET.Runtime.WebAssembly.Sdk.net6, and silently fails for Microsoft.NET.Runtime.MonoTargets.Sdk.net6.

And the same happens for others:

                   SDK "Microsoft.NET.Runtime.Emscripten.Python.net6" wird aufgelöst...
                   SDK "Microsoft.NET.Runtime.Emscripten.Node.net6" wird aufgelöst...
                   SDK "Microsoft.NET.Runtime.Emscripten.Sdk.net6" wird aufgelöst...

@PhilippJR could you please outline the steps you took to get to this state? Did you install the workload by selecting it in the installer? @ilonatommy Could you please try these steps, and try to reproduce the issue?