dotnet icon indicating copy to clipboard operation
dotnet copied to clipboard

'Could not load file or assembly 'System.ComponentModel.Annotations, Version=4.2.0.0' in plugin environment (.NET Framework)

Open astuy opened this issue 1 year ago • 1 comments

Describe the bug

Using ObservableValidator in a .NET Framework application plugin leads to System.IO.FileNotFoundException: Could not load file or assembly 'System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.

The referenced System.ComponentModel.Annotations 5.0.0 package brings System.ComponentModel.Annotations 4.6.26515.6 dll. But CommunityToolkit.Mvvm 8.4.0 dll references System.ComponentModel.Annotations 4.2 dll.

Regression

No response

Steps to reproduce

Please see attached minimal repro. Build solution and run AppWithPlugin.

AppWithPlugin.zip

Expected behavior

System.ComponentModel.Annotations should be resolved.

Screenshots

No response

IDE and version

VS 2022

IDE version

17.12.5

Nuget packages

  • [ ] CommunityToolkit.Common
  • [ ] CommunityToolkit.Diagnostics
  • [ ] CommunityToolkit.HighPerformance
  • [x] CommunityToolkit.Mvvm (aka MVVM Toolkit)

Nuget package version(s)

8.4.0

Additional context

Why don't you add target framework net472 and reference only the framework provided System.ComponentModel.DataAnnotations and not the annotations nuget package?

Help us help you

Yes, I'd like to be assigned to work on this item

astuy avatar Feb 21 '25 10:02 astuy

If have digged a bit deeper and created also my own library referencing System.ComponentModel.Annotations. Please see attached solution:

  • You can switch the executed command in AppWithPlugin \ Properties \ launchSettings.json \ commandLineArgs. Valid values are annotate and community.
  • Building AnnotationReference with TargetFramework net48 everything works fine. Building AnnotationReference with TargetFramework netstandard2.0 triggers the FileNotFoundException.

AppWithPlugin.zip

astuy avatar Feb 21 '25 11:02 astuy