Closed LaborJos closed 6 years ago
Hi,
There are some changes in Fody >= 3.0.0 ... Version 2.0 of Cauldron is not compatible with it. Please use the Cauldron.Interception.Fody 3.0.2-beta instead.
I will try my best to have a stable release this month. For the mean time, please use the beta.
Firma: Capgemini Deutschland GmbH Aufsichtsratsvorsitzender: Antonio Schnieder • Geschäftsführer: Dr. Michael Schulte (Sprecher) • Jost Förster • Dr. Peter Lempp • Dr. Volkmar Varnhagen
Amtsgericht Berlin-Charlottenburg, HRB 98814 This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
The following error occurs when updating to the beta version.
2> Fody/Cauldron.Interception: -----------------------------------------------------------------------------
2> Fody/Cauldron.Interception: Cauldron Interception v3.0.0.3
2> Fody/Cauldron.Interception: Finding attributes took 0.0904ms
2> Fody/Cauldron.Interception: ----- Implementing decorator interceptors took 0.2049ms -----
2> Fody/Cauldron.Interception: Implementing interceptors in type VM.DAFUL.ViewModels.Pre.AppCore.BodyViewModel
2> Fody/Cauldron.Interception: Implementing interceptors in type VM.DAFUL.ViewModels.Pre.AppCore.DocumentViewModel1 2> Fody/Cauldron.Interception: ----- Implementing class wide property interceptors took 15.7087ms ----- 2> Fody/Cauldron.Interception: ----- Implementing field interceptors took 7.9735ms ----- 2> Fody/Cauldron.Interception: Suppressed - The property 'VM.DAFUL.ViewModels.Pre.IHasSourceViewModel.SourceType' is not intercepted by 'OperationSetAttribute' because of a rule. 2> Fody/Cauldron.Interception: Suppressed - The property 'VM.DAFUL.ViewModels.Pre.IHasSourceViewModel.Source' is not intercepted by 'OperationSetAttribute' because of a rule. 2> Fody/Cauldron.Interception: Suppressed - The property 'EntityFilterText' is not intercepted by 'OperationSetAttribute' because of a rule. 2> Fody/Cauldron.Interception: Suppressed - The property 'ChildrenSource' is not intercepted by 'OperationSetAttribute' because of a rule. 2> Fody/Cauldron.Interception: Suppressed - The property 'Categories' is not intercepted by 'OperationSetAttribute' because of a rule. 2> Fody/Cauldron.Interception: Suppressed - The property 'CanFiltering' is not intercepted by 'OperationSetAttribute' because of a rule. 2> Fody/Cauldron.Interception: Implementing property interceptors: DocumentViewModel
1 VM.DAFUL.ViewModels.Pre.IHasSourceViewModel.SourceType Type
2> Fody/Cauldron.Interception: Implementing property interceptors: DocumentViewModel1 VM.DAFUL.ViewModels.Pre.IHasSourceViewModel.Source Object 2> Fody/Cauldron.Interception: Implementing property interceptors: DocumentViewModel
1 Source TSource
2> Fody/Cauldron.Interception: Implementing property interceptors: DocumentViewModel1 SortTarget SortTarget 2> Fody/Cauldron.Interception: Implementing property interceptors: DocumentViewModel
1 SortDirection SortDirection
2> Fody/Cauldron.Interception: Implementing property interceptors: DocumentViewModel1 Name String 2> Fody/Cauldron.Interception: ----- Implementing property interceptors took 638.5792ms ----- 2>MSBUILD : error : Fody: An unhandled exception occurred: 2>MSBUILD : error : Exception: 2>MSBUILD : error : Failed to execute weaver C:\Project\DAFUL\GCS_Base\DAFUL\Pre\packages\Cauldron.Interception.Fody.3.0.2-beta\Cauldron.Interception.Fody.dll 2>MSBUILD : error : Type: 2>MSBUILD : error : System.Exception 2>MSBUILD : error : StackTrace: 2>MSBUILD : error : at InnerWeaver.ExecuteWeavers() 2>MSBUILD : error : at InnerWeaver.Execute() 2>MSBUILD : error : Source: 2>MSBUILD : error : FodyIsolated 2>MSBUILD : error : TargetSite: 2>MSBUILD : error : Void ExecuteWeavers() 2>MSBUILD : error : Value cannot be null. 2>MSBUILD : error : Parameter name: parameters 2>MSBUILD : error : Type: 2>MSBUILD : error : System.ArgumentNullException 2>MSBUILD : error : StackTrace: 2>MSBUILD : error : at Cauldron.Interception.Cecilator.Coders.CoderBase.CreateParameters(Func
2[] parameters)
2>MSBUILD : error : at Cauldron.Interception.Cecilator.Coders.Coder.Call(Method method, Func2[] parameters) 2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.<>c__DisplayClass44_0.<CreateSetterDelegate>b__26(Property property) 2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.<>c__DisplayClass44_0.<CreateSetterDelegate>g__CodeMe|0[T](Func
2 fieldCode, Func2 propertyCode) 2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.<>c__DisplayClass44_0.<CreateSetterDelegate>b__6(Coder then) 2>MSBUILD : error : at Cauldron.Interception.Cecilator.Coders.Coder.If(Func
2 booleanExpression, Func2 then) 2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.CreateSetterDelegate(Builder builder, Method setterDelegateMethod, BuilderType propertyType, Object value) 2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.CreatePropertySetterDelegate(Builder builder, PropertyBuilderInfo member, Method propertySetter) 2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.InterceptProperties(Builder builder, IEnumerable
1 attributes)
2>MSBUILD : error : at Cauldron.Interception.Fody.ModuleWeaver.OnExecute()
2>MSBUILD : error : at Cauldron.Interception.Cecilator.WeaverBase.Execute()
2>MSBUILD : error : at InnerWeaver.ExecuteWeavers()
2>MSBUILD : error : Source:
2>MSBUILD : error : Cauldron.Interception.Cecilator
2>MSBUILD : error : TargetSite:
2>MSBUILD : error : System.Object[] CreateParameters(System.Func`2[Cauldron.Interception.Cecilator.Coders.Coder,System.Object][])
2>MSBUILD : error :
2> Fody: Finished Fody 762ms.
========== Build: 1 succeeded, 1 failed, 35 up-to-date, 0 skipped ==========
There is actually a bug in the property interceptor, where it might run into an exception if the property does not have a setter and a getter depending on the interceptor. The Name property in DocumentViewModel1 might be missing a setter in this case.
"Name" has a setter. As you said, there is a property in class that does not have a setter.
So this issue is also resolved in the next release version? If not, please let us know the alternative.
The issue will be resolved in version 3.0.4 ... for now you could make Cauldron ignore the property.
I am using Cauldron.Interception.Fody. Problems occur after updating nuget to 2.1.0. The Fody Version I use is v3.0.3.
Fody: The weaver assembly 'Cauldron.Interception.Fody, Version = 2.0.0.39, Culture = neutral, PublicKeyToken = null' references an out of date version of Mono.Cecil.dll. Expected strong name token of '1C-A0-91-87-7D-12-CA-03' but got '50 -CE-BF-1C-CE-B9-D0-5E '. The weaver needs to update to at least version 3.0 of FodyHelpers.
This is probably a problem with the FodyCecil version of this commit (https://github.com/Capgemini/Cauldron/commit/56307f15491e1af51d35e189e8bc60a9ff20e031). There is currently no FodyCecil 2.5.0 on nuget.org.