Skip to content

Can't generate metadata for *.csproj files that reference other projects #8048

@frarees

Description

@frarees

Operating System: macOS Big Sur 11.6 (20G165)
DocFX Version Used: 2.59.2.0 (brewed)
Template used: default

Steps to Reproduce:

Attached there's a Unity project with .csproj files generated by com.unity.ide.visualstudio@2.0.14.

unity-test.zip

  • ASM1.csproj — doesn't reference other projects, works ✅
  • ASM2.csproj — references ASM1, doesn't work ❌
  1. Download unity-test.zip and unzip.
  2. Run docfx metadata --force docfx_project/docfx_ko.json

Expected Behavior:

Metadata gets generated for ASM2.csproj

Actual Behavior:

frarees@MBP18 unity-test % docfx metadata --force docfx_project/docfx_ko.json
[22-06-14 12:00:21.260]Info:[ExtractMetadata]Using mono /Library/Frameworks/Mono.framework/Versions/6.13.0/lib/mono/msbuild/15.0/bin/MSBuild.dll as inner compiler.
[22-06-14 12:00:21.367]Info:[ExtractMetadata]Loading projects...
[22-06-14 12:00:22.761]Warning:[ExtractMetadata](/Users/frarees/Documents/unity-test/ASM2.csproj)Workspace failed with: [Failure] Msbuild failed when processing the file '/Users/frarees/Documents/unity-test/ASM2.csproj' with message: /Library/Frameworks/Mono.framework/Versions/6.13.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets: (1733, 5): The "GetReferenceNearestTargetFrameworkTask" task failed unexpectedly.
System.MissingMethodException: Method not found: NuGet.Frameworks.NuGetFramework NuGet.Frameworks.NuGetFramework.ParseComponents(string,string)
  at NuGet.Build.Tasks.GetReferenceNearestTargetFrameworkTask.Execute () [0x00142] in <284aae14d5034455899563954b017376>:0 
  at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <8a3f180d637a418b9f0224e63aca8555>:0 
  at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x002b9] in <8a3f180d637a418b9f0224e63aca8555>:0 
[22-06-14 12:00:23.236]Warning:[ExtractMetadata](/Users/frarees/Documents/unity-test/ASM2.csproj)Workspace failed with: [Warning] Found project reference without a matching metadata reference: /Users/frarees/Documents/unity-test/ASM1.csproj
[22-06-14 12:00:23.508]Info:[ExtractMetadata]Generating metadata for each project...
[22-06-14 12:00:24.403]Info:Completed in 3169.0223 milliseconds


Build succeeded with warning.
[22-06-14 12:00:24.406]Warning:[ExtractMetadata](/Users/frarees/Documents/unity-test/ASM2.csproj)Workspace failed with: [Failure] Msbuild failed when processing the file '/Users/frarees/Documents/unity-test/ASM2.csproj' with message: /Library/Frameworks/Mono.framework/Versions/6.13.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets: (1733, 5): The "GetReferenceNearestTargetFrameworkTask" task failed unexpectedly.
System.MissingMethodException: Method not found: NuGet.Frameworks.NuGetFramework NuGet.Frameworks.NuGetFramework.ParseComponents(string,string)
  at NuGet.Build.Tasks.GetReferenceNearestTargetFrameworkTask.Execute () [0x00142] in <284aae14d5034455899563954b017376>:0 
  at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <8a3f180d637a418b9f0224e63aca8555>:0 
  at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x002b9] in <8a3f180d637a418b9f0224e63aca8555>:0 
[22-06-14 12:00:24.406]Warning:[ExtractMetadata](/Users/frarees/Documents/unity-test/ASM2.csproj)Workspace failed with: [Warning] Found project reference without a matching metadata reference: /Users/frarees/Documents/unity-test/ASM1.csproj
	2 Warning(s)
	0 Error(s)

Metadata

Metadata

Assignees

No one assigned

    Labels

    dotnetGenerate .NET API reference docsdotnet: msbuildmsbuild integration for .NET API reference docs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions