Kinnara / ModernWpf

Modern styles and controls for your WPF applications
MIT License
4.45k stars 446 forks source link

Build errors, please help #504

Closed AVVI94 closed 2 years ago

AVVI94 commented 2 years ago

Hello, how do I build the solution? I did a clean clone of the repo, but when I try to build it in Visual Studio (2022), I get bunch of errors. I tried to build on different PC with same workload installed and it builded just once and I could not get it to build again... I tried following the Github Actions steps (dotnet restore, dotnet build without restore) but I had no luck.

My build errors:

C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(21,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCHITTEST' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(22,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSEMOVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(23,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONDOWN' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(24,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONUP' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(25,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSELEAVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(26,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTCLIENT' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(27,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTMAXBUTTON' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_cpnzpcug_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(21,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCHITTEST' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(22,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSEMOVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(23,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONDOWN' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(24,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONUP' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(25,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSELEAVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(26,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTCLIENT' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(27,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTMAXBUTTON' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_f3emetlz_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(22,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCHITTEST' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(23,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSEMOVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(24,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONDOWN' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(25,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONUP' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(26,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSELEAVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(27,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTCLIENT' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(28,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTMAXBUTTON' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_1bkog0ff_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(21,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCHITTEST' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(22,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSEMOVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(23,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONDOWN' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(24,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCLBUTTONUP' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(25,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'WM_NCMOUSELEAVE' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(26,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTCLIENT' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]
C:\WORK\ModernWpf\ModernWpf\Microsoft.Windows.CsWin32\Microsoft.Windows.CsWin32.SourceGenerator\Windows.Win32.PInvoke.g.cs(27,23): error CS0102: The type 'PInvoke' already contains a defi
nition for 'HTMAXBUTTON' [C:\WORK\ModernWpf\ModernWpf\ModernWpf_0zqe5k0v_wpftmp.csproj]

lastTry.binlog.log (remove the ".log" from file extension)

MajorXAML commented 2 years ago

Yes, the current build cannot be compiled on the latest VS version.

You can wait for @Kinnara to fix it (unlikely to happen anytime soon) or use version 0.9.5

AVVI94 commented 2 years ago

Yes, the current build cannot be compiled on the latest VS version.

You can wait for @Kinnara to fix it (unlikely to happen anytime soon) or use version 0.9.5

I'm okay with building it from Terminal/CMD, but I just need to resolve these errors... Or they are related to VS2022 being installed?

nguyenkien commented 2 years ago

This a bug in visual studio 2022. For workaround add this code to ModernWpf.csproj

  <Target Name="RemoveDuplicateAnalyzers" BeforeTargets="CoreCompile">
    <!-- Work around https://github.com/dotnet/wpf/issues/6792 -->

    <ItemGroup>
      <FilteredAnalyzer Include="@(Analyzer-&gt;Distinct())" />
      <Analyzer Remove="@(Analyzer)" />
      <Analyzer Include="@(FilteredAnalyzer)" />
    </ItemGroup>
  </Target>
AVVI94 commented 2 years ago

This a bug in visual studio 2022. For workaround add this code to ModernWpf.csproj

  <Target Name="RemoveDuplicateAnalyzers" BeforeTargets="CoreCompile">
    <!-- Work around https://github.com/dotnet/wpf/issues/6792 -->

    <ItemGroup>
      <FilteredAnalyzer Include="@(Analyzer-&gt;Distinct())" />
      <Analyzer Remove="@(Analyzer)" />
      <Analyzer Include="@(FilteredAnalyzer)" />
    </ItemGroup>
  </Target>

This works great, thank you!