docfx icon indicating copy to clipboard operation
docfx copied to clipboard

[Bug] Cannot build WPF project with OnDragOver method

Open RedX2501 opened this issue 2 years ago • 3 comments

Describe the bug I'm not able to compile a WPF project on the command line. The build works with VS 2022.

To Reproduce The error message is:

error: MainWindow.xaml.cs(69,29): error CS0115: 'MainWindow.OnDragOver(DragEventArgs)': no suitable method found to override

Expected behavior It should build.

Context (please complete the following information):

  • OS: Windows

  • Docfx version: 2.70.4

  • .NET version: .Net 6.0

  • docfx.json config

{
  "$schema": "https://json.schemastore.org/docfx",
  "metadata": [
    {
      "src": [
        {
          "files": [
            "**/*.csproj"
          ],
          "src": "../..",
          "exclude": ["**/obj/**", "**/bin/**", "**/Tests/**", "**/Docs/**"]
        }
      ],
      "dest": "api",
      "filter": "filterConfig.yml"
    }
  ],
  "build": {
    "content": [
      {
        "files": [
          "api/**.yml",
          "api/index.md"
        ]
      },
      {
        "files":[
          "Changelog.md"
        ],
        "src": "../.."
      },
      {
        "files": [
          "articles/**.md",
          "articles/**/toc.yml",
          "toc.yml",
          "*.md"
        ]
      }
    ],
    "resource": [
      {
        "files": [
          "images/**"
        ]
      },
      {
        "files":[
          "DataProvider.cs",
          "DataUser.cs"
        ],
        "src": "../../Plugins/Silt.Plugin.TemplateGenerator/TemplateHelpers/",
        "dest": "examples/"
      },
    ],
    "overwrite": [
      {
        "files": [
          "apidoc/**.md"
        ],
        "exclude": [
          "obj/**",
          "_site/**"
        ]
      }
    ],
    "dest": "../Generated",
    "globalMetadataFiles": [],
    "fileMetadataFiles": [],
    "template": [
      "statictoc"
    ],
    "globalMetadata": {
      "_appTitle":  "Silt"
    },
    "postProcessors": [],
    "noLangKeyword": false,
    "keepFileLink": false,
    "cleanupCacheHistory": false,
    "disableGitFeatures": true
  }
}
  • Exceptions

None

  • Errors and warnings
error: MainWindow.xaml.cs(69,29): error CS0115: 'MainWindow.OnDragOver(DragEventArgs)': no suitable method found to override
error: SignalPathView.xaml.cs(182,29): error CS0115: 'SignalPathView.OnRenderSizeChanged(SizeChangedInfo)': no suitable method found to override```

- .NET info

```csharp
.NET SDK (reflecting any global.json):
 Version:   6.0.317     
 Commit:    d9644dc1fe  

Runtime Environment:    
 OS Name:     Windows   
 OS Version:  10.0.19045
 OS Platform: Windows   
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.317\

Host:
  Version:      7.0.11
  Architecture: x64
  Commit:       ecb34f85ec

.NET SDKs installed:
  3.1.426 [C:\Program Files\dotnet\sdk]
  5.0.405 [C:\Program Files\dotnet\sdk]
  5.0.406 [C:\Program Files\dotnet\sdk]
  6.0.203 [C:\Program Files\dotnet\sdk]
  6.0.317 [C:\Program Files\dotnet\sdk]
  6.0.414 [C:\Program Files\dotnet\sdk]
  7.0.100 [C:\Program Files\dotnet\sdk]
  7.0.111 [C:\Program Files\dotnet\sdk]
  7.0.302 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  C:\data\Silt4\Sources\global.json

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download```

RedX2501 avatar Sep 28 '23 10:09 RedX2501

Right after writing this I had another look at the code.

The partial MainWindow.xaml.cs does not derive from Window which seems to work fine when doing a "regular" compilation of WPF projects.

It seems that this does not work with docfx. Adding that solves the problem but creates a warning since the other partial created by WPF already has this inheritance.

RedX2501 avatar Sep 28 '23 10:09 RedX2501

I've tested this issue is resolved with latest nightly version of docfx. (That use roslyn 4.9.2) But the behavior doesn't seem to have changed.

It thought it's expected to be fixed in roslyn 4.10.0 or later. Because DesignTimeMarkupCompilation optionalTargets for MSBuildWorkspace is added by following PR. https://github.com/dotnet/roslyn/pull/69225

filzrev avatar Mar 16 '24 09:03 filzrev