Uno.CodeGen icon indicating copy to clipboard operation
Uno.CodeGen copied to clipboard

netstandard2.0 library won't build using 2.0.0-dev.2 through 2.0.0-dev.10

Open baskren opened this issue 7 months ago • 0 comments

Current behavior 🐛

Library using Uno.CodeGen Nuget package won't build when:

  • Using the [Uno.GeneratedEquality] attribute on a class
  • Uno.CodeGen is version is between 2.0.0-dev.2 and 2.0.0-dev.10 (latest version)

Build Log

Click here to expand
Build started at 5:03 PM...
1>------ Build started: Project: UnoCodeGenTryout, Configuration: Debug Any CPU ------
1>MSBUILD : error : Generation failed: Microsoft.Build.Exceptions.InvalidProjectFileException: SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.Sdk". Exception: "System.MissingMethodException: Method not found: 'Void System.Text.Json.Utf8JsonReader..ctor(System.ReadOnlySpan`1<Byte>, Boolean, System.Text.Json.JsonReaderState)'.
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestReader.Utf8JsonStreamReader..ctor(Stream stream, JsonReaderOptions readerOptions)
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestReader.ReadWorkloadManifest(String manifestId, Stream manifestStream, Stream localizationStream, String manifestPath)
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.LoadManifestsFromProvider(IWorkloadManifestProvider manifestProvider)
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.InitializeManifests()
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.TryGetPackInfo(WorkloadPackId packId)
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, IWorkloadManifestProvider manifestProvider, IWorkloadResolver workloadResolver)
1>MSBUILD : error :    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
1>MSBUILD : error :    at Microsoft.DotNet.MSBuildSdkResolver.DotNetMSBuildSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext context, SdkResultFactory factory)
1>MSBUILD : error :    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IReadOnlyList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)""  C:\Users\ben\source\repos\UnoCodeGenTryout\UnoCodeGenTryout.csproj
1>MSBUILD : error : 
1>MSBUILD : error : Server stack trace: 
1>MSBUILD : error :    at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImportsFromUnescapedImportExpressionConditioned(String directoryOfImportingFile, ProjectImportElement importElement, List`1& projects, SdkResult& sdkResult)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImports(String directoryOfImportingFile, ProjectImportElement importElement, SdkResult& sdkResult)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Evaluator`4.EvaluateImportElement(String directoryOfImportingFile, ProjectImportElement importElement)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Evaluator`4.PerformDepthFirstPass(ProjectRootElement currentProjectOrImport)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Evaluator`4.Evaluate()
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Evaluator`4.Evaluate(IEvaluatorData`4 data, Project project, ProjectRootElement root, ProjectLoadSettings loadSettings, Int32 maxNodeCount, PropertyDictionary`1 environmentProperties, ICollection`1 propertiesFromCommandLine, ILoggingService loggingService, IItemFactory`2 itemFactory, IToolsetProvider toolsetProvider, IDirectoryCacheFactory directoryCacheFactory, ProjectRootElementCacheBase projectRootElementCache, BuildEventContext buildEventContext, ISdkResolverService sdkResolverService, Int32 submissionId, EvaluationContext evaluationContext, Boolean interactive)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Project.ProjectImpl.Reevaluate(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings, EvaluationContext evaluationContext)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Project.ProjectImpl.ReevaluateIfNecessary(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings, EvaluationContext evaluationContext)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Project.ProjectImpl.ReevaluateIfNecessary(EvaluationContext evaluationContext)
1>MSBUILD : error :    at Microsoft.Build.Evaluation.Project.ProjectImpl.Initialize(IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectLoadSettings loadSettings, EvaluationContext evaluationContext, Boolean interactive)
1>MSBUILD : error :    at Uno.SourceGeneration.Host.ProjectLoader.LoadProjectDetails(BuildEnvironment environment, Dictionary`2 globalProperties) in D:\a\1\s\src\Uno.SourceGeneration.Engine.Shared\ProjectLoader.cs:line 143
1>MSBUILD : error :    at Uno.SourceGeneration.Host.SourceGeneratorEngine.Generate() in D:\a\1\s\src\Uno.SourceGeneration.Engine.Shared\SourceGeneratorEngine.cs:line 85
1>MSBUILD : error :    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
1>MSBUILD : error :    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
1>MSBUILD : error : 
1>MSBUILD : error : Exception rethrown at [0]: 
1>MSBUILD : error :    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
1>MSBUILD : error :    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
1>MSBUILD : error :    at Uno.SourceGeneratorTasks.RemoteSourceGeneratorEngine.Generate(RemotableLogger2 logger, BuildEnvironment environment)
1>MSBUILD : error :    at Uno.SourceGeneration.Host.Server.GenerationServerHost.GenerateForCollection(EnvironmentPool collection, BuildEnvironment environment) in D:\a\1\s\src\Uno.SourceGeneration.Host\Server\GenerationServerHost.netframework.cs:line 61
1>MSBUILD : error :    at Uno.SourceGeneration.Host.Server.GenerationServerHost.RunGeneration(RunRequest request, CancellationToken cancellationToken) in D:\a\1\s\src\Uno.SourceGeneration.Host\Server\GenerationServerHost.cs:line 73
1>C:\Users\ben\.nuget\packages\uno.sourcegenerationtasks\4.0.0\build\netstandard1.0\Uno.SourceGenerationTasks.targets(134,2): error : Generation failed, error code Rejected
1>Done building project "UnoCodeGenTryout.csproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 5:03 PM and took 01.343 seconds ==========

Demo Project: https://github.com/baskren/UnoCodeGenTryout

Environment:

Solution

  • netstandard2.0 library
  • Uno.CodeGen 2.0.0-dev.2 to 2.0.0-dev.10

Visual Studio

Click to expand
Microsoft Visual Studio Community 2022
Version 17.14.7
VisualStudio.17.Release/17.14.7+36221.1
Microsoft .NET Framework
Version 4.8.09032

Installed Version: Community

Visual C++ 2022   00482-90000-00000-AA155
Microsoft Visual C++ 2022

ASP.NET and Web Tools   17.14.114.53116
ASP.NET and Web Tools

AvaloniaPackage Extension   1.0
AvaloniaPackage Visual Studio Extension Detailed Info

Azure App Service Tools v3.0.0   17.14.114.53116
Azure App Service Tools v3.0.0

Azure Functions and Web Jobs Tools   17.14.114.53116
Azure Functions and Web Jobs Tools

C# Tools   4.14.0-3.25279.5+995f12b60535afe75cafbcefada9161d8dc4f31f
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Dotfuscator Community Edition   6.5.3+7f0b0a9d18
PreEmptive Protection - Dotfuscator CE

GitHub Copilot   17.14.794.21998
GitHub Copilot is an AI pair programmer that helps you write code faster and with less work.

ILSpy.AddIn   1.0
Integration of the ILSpy Decompiler into Visual Studio.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Mono Debugging for Visual Studio   17.14.11 (f3bc644800)
Support for debugging Mono processes with Visual Studio

Node.js Tools   1.5.61125.7 Commit Hash:d387982a7546304d617ed77b6d390e04b6558274
Adds support for developing and debugging Node.js apps in Visual Studio

NuGet Package Manager   6.14.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

Razor (ASP.NET Core)   17.14.3.2530601+3372435431977e91904a23ceb1eab689badc1bd9
Provides languages services for ASP.NET Core Razor.

SQL Server Data Tools   17.14.26.0
Microsoft SQL Server Data Tools

TypeScript Tools   17.0.40502.2001
TypeScript Tools for Microsoft Visual Studio

Uno Platform Extension   1.0
Uno Platform Extension to create cross-platform apps using iOS, Android, mac Catalyst, Skia and WebAssembly.

Visual Basic Tools   4.14.0-3.25279.5+995f12b60535afe75cafbcefada9161d8dc4f31f
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools   17.14.0-beta.25230.7+c1a9d78ad4a474a716ccffb4367ed5151e3f7c9f
Microsoft Visual F# Tools

Visual Studio IntelliCode   2.2
AI-assisted development for Visual Studio.

VisualStudio.DeviceLog   1.0
Information about my package

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

VSPackage Extension   1.0
VSPackage Visual Studio Extension Detailed Info

Xamarin   17.14.268 (5ea1e283cd)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   17.14.3.0 (tags/main-61034a2(11307611)^0@61034a2622)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin.Android SDK   13.2.2.0 (d17-5/45b0e14)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: d9a6e87
    Java.Interop: xamarin/java.interop/d17-5@149d70fe
    SQLite: xamarin/sqlite/3.40.1@68c69d8
    Xamarin.Android Tools: xamarin/xamarin-android-tools/d17-5@ca1552d


Xamarin.iOS and Xamarin.Mac SDK   16.4.0.23 (9defd91b3)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

System Info

Click here to expand
OS Name	Microsoft Windows 11 Enterprise
Version	10.0.22631 Build 22631
Other OS Description 	Not Available
OS Manufacturer	Microsoft Corporation
System Name	BENJAMINASK9DB7
System Manufacturer	Parallels International GmbH.
System Model	Parallels ARM Virtual Machine
System Type	ARM64-based PC
System SKU	Parallels_ARM_VM
Processor	Apple Silicon, 3200 Mhz, 1 Core(s), 1 Logical Processor(s)
Processor	Apple Silicon, 3200 Mhz, 1 Core(s), 1 Logical Processor(s)
Processor	Apple Silicon, 3200 Mhz, 1 Core(s), 1 Logical Processor(s)
Processor	Apple Silicon, 3200 Mhz, 1 Core(s), 1 Logical Processor(s)
Processor	Apple Silicon, 3200 Mhz, 1 Core(s), 1 Logical Processor(s)
Processor	Apple Silicon, 3200 Mhz, 1 Core(s), 1 Logical Processor(s)
BIOS Version/Date	Parallels International GmbH. 20.4.0 (55980), Not Available
SMBIOS Version	3.0
Embedded Controller Version	255.255
BIOS Mode	UEFI
BaseBoard Manufacturer	Parallels ARM Virtual Machine
BaseBoard Product	Parallels ARM Virtual Platform
BaseBoard Version	0.1
Platform Role	Slate
Secure Boot State	On
PCR7 Configuration	Elevation Required to View
Windows Directory	C:\Windows
System Directory	C:\Windows\system32
Boot Device	\Device\HarddiskVolume2
Locale	United States
Hardware Abstraction Layer	Version = "10.0.22621.2506"
User Name	BENJAMINASK9DB7\ben
Time Zone	SA Western Standard Time
Installed Physical Memory (RAM)	48.0 GB
Total Physical Memory	40.0 GB
Available Physical Memory	24.0 GB
Total Virtual Memory	42.5 GB
Available Virtual Memory	25.7 GB
Page File Space	2.50 GB
Page File	C:\pagefile.sys
Kernel DMA Protection	Off
Virtualization-based security	Not enabled
Windows Defender Application Control policy	Enforced
Windows Defender Application Control user mode policy	Off
Device Encryption Support	Elevation Required to View

Other Details

Building from command line

Click here to expand
c:\Users\ben\source\repos\UnoCodeGenTryout>dotnet build --verbosity:diag
C:\Program Files\dotnet\sdk\9.0.301\MSBuild.dll -nologo -consoleloggerparameters:Summary -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\9.0.301\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\9.0.301\dotnet.dll -maxcpucount -restore -tlp:default=auto -verbosity:m -verbosity:diag .\UnoCodeGenTryout.sln
Restore complete (0.4s)
    Determining projects to restore...
    All projects are up-to-date for restore.
  UnoCodeGenTryout failed with 1 error(s) (0.2s)
    C:\Users\ben\.nuget\packages\uno.sourcegenerationtasks\4.0.0\build\netstandard1.0\Uno.SourceGenerationTasks.targets(134,2): error : Generation failed, error code 2

Build failed with 1 error(s) in 0.9s

c:\Users\ben\source\repos\UnoCodeGenTryout>

Expected behavior 🎯

Expect app to successfully build

How to reproduce it (as minimally and precisely as possible) 🔬

Demo Project: https://github.com/baskren/UnoCodeGenTryout

Workaround 🛠️

using 1.x version

Renderer 🎨

  • [ ] Skia
  • [ ] Native

Affected platforms 📱💻🖥️

Build tasks

Uno.Sdk version (and other relevant versions) 📦

n/a

IDE version 🧑‍💻

Visual Studio 2022 ARM Version 17.14.7

Anything else we need to know? 💬

No response

baskren avatar Jul 01 '25 21:07 baskren