Skip to content

[BUG] Project won't build if ReactiveUI.Fody is used with long property #2243

@garyng

Description

@garyng

Describe the bug

Applying the [ObservableAsProperty] on a property of type long will cause the project to fail to build.

Steps To Reproduce

  1. Install ReactiveUI.Fody
  2. Create a new property:
[ObservableAsProperty] public long Number { get; set; }
  1. Error while building:
1>    Fody: Fody (version 6.0.0.0 @ file:///C:/Users/GaryNg/.nuget/packages/fody/6.0.0/netclassictask/Fody.dll) Executing
1>      Fody/ReactiveUI:   Executing Weaver
1>      Fody/ReactiveUI:   ReactiveUI 10.5.0.0
1>      Fody/ReactiveUI:   ReactiveUI.Fody.Helpers 10.5.0.0
1>      Fody/ReactiveUI:   ReactiveUI 10.5.0.0
1>      Fody/ReactiveUI:   ReactiveUI.Fody.Helpers 10.5.0.0
1>  MSBUILD : error : Fody: An unhandled exception occurred:
1>  MSBUILD : error : Exception:
1>  MSBUILD : error : Failed to execute weaver C:\Users\GaryNg\.nuget\packages\reactiveui.fody\10.5.7\build\..\weaver\ReactiveUI.Fody.dll
1>  MSBUILD : error : Type:
1>  MSBUILD : error : System.Exception
1>  MSBUILD : error : StackTrace:
1>  MSBUILD : error :    at InnerWeaver.ExecuteWeavers() in C:\projects\fody\FodyIsolated\InnerWeaver.cs:line 207
1>  MSBUILD : error :    at InnerWeaver.Execute() in C:\projects\fody\FodyIsolated\InnerWeaver.cs:line 108
1>  MSBUILD : error : Source:
1>  MSBUILD : error : FodyIsolated
1>  MSBUILD : error : TargetSite:
1>  MSBUILD : error : Void ExecuteWeavers()
1>  MSBUILD : error : opcode
1>  MSBUILD : error : Type:
1>  MSBUILD : error : System.ArgumentException
1>  MSBUILD : error : StackTrace:
1>  MSBUILD : error :    at Mono.Cecil.Cil.Instruction.Create(OpCode opcode) in C:\Code\Fody\cecil\Mono.Cecil.Cil\Instruction.cs:line 145
1>  MSBUILD : error :    at ReactiveUI.Fody.ObservableAsPropertyWeaver.EmitDefaultValue(MethodBody methodBody, ILProcessor il, TypeReference type)
1>  MSBUILD : error :    at ReactiveUI.Fody.ObservableAsPropertyWeaver.<>c__DisplayClass12_2.<Execute>b__10(ILProcessor il)
1>  MSBUILD : error :    at ReactiveUI.Fody.CecilExtensions.Emit(MethodBody body, Action`1 il)
1>  MSBUILD : error :    at ReactiveUI.Fody.ObservableAsPropertyWeaver.Execute()
1>  MSBUILD : error :    at ReactiveUI.Fody.ModuleWeaver.Execute()
1>  MSBUILD : error :    at InnerWeaver.ExecuteWeavers() in C:\projects\fody\FodyIsolated\InnerWeaver.cs:line 195
1>  MSBUILD : error : Source:
1>  MSBUILD : error : Mono.Cecil
1>  MSBUILD : error : TargetSite:
1>  MSBUILD : error : Mono.Cecil.Cil.Instruction Create(Mono.Cecil.Cil.OpCode)
1>  MSBUILD : error :
1>    Fody:   Finished Fody 113ms.

Expected behavior

The project will build.

Screenshots

Environment

  • OS:
  • Version
  • Device:

Windows. Tested on both WPF and Xamarin.Forms.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions