CommunityToolkit / dotnet

.NET Community Toolkit is a collection of helpers and APIs that work for all .NET developers and are agnostic of any specific UI platform. The toolkit is maintained and published by Microsoft, and part of the .NET Foundation.
https://docs.microsoft.com/dotnet/communitytoolkit/?WT.mc_id=dotnet-0000-bramin
Other
3.05k stars 300 forks source link

Unclear errors on field with ObservableProperty #947

Open elad770 opened 2 months ago

elad770 commented 2 months ago

Describe the bug

I have a wpf (core based) project, with net6.0 (with visual studio 2022 enterprise), where I installed from nuget the toolkit mvvm version 8.0.0. In the project I have a very basic class that is defined as partial and inherits ObservableObject (just like any guide that explains how to work with the toolkit's MVVM) and contains 3 fields each wrapped respectively in an ObservableProperty attribute. When I try to compile I get errors that I have no idea why they actually happen, the errors actually refer to cs g files that are dynamically created using the toolkit, I will give an example for example I have a field in the basic class (called AstroInfo) called star and on it I get an error below that directs it to the g.cs file The type 'AstroInfo' already contains a definition for 'Star' In addition to this, more unclear errors in relation to functions that describe events such as 'AstroInfo' already defines a member called 'OnStarChanging' with the same parameter and- A partial method may not have multiple defining

I would appreciate guidance in this regard

Regression

No response

Steps to reproduce

using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AstroMatch.Models
{
    public partial class AstroInfo : ObservableObject
    {
        [ObservableProperty]
        private string star;

        [ObservableProperty]
        private int degree;

        [ObservableProperty]
        private int hour;
    }

}

Expected behavior

The compilation goes without any errors

Screenshots

image

image

IDE and version

VS 2022

IDE version

No response

Nuget packages

Nuget package version(s)

8.0.0

Additional context

No response

Help us help you

Yes, but only if others can assist

Sergio0694 commented 2 months ago

Mmh @manodasanw I wonder if this sounds similar to that issue you noticed with the CsWinRT generators running multiple times in WPF? I can't think of another explanation for those errors otherwise 😐

@elad770 would you be able to provide a binlog?

That is, build with -v:diag /bl and share the file. Thank you!

elad770 commented 2 months ago

@Sergio0694 It is not possible to upload bl or rar files here, just change the extension of the file to bl Thank you very much msbuild.txt