Compilation fails error message with Splat.Drawing.dll'. Mono.Cecil.ResolutionException: Failed to resolve System.Reflection.BindingFlags
tapika opened this issue · comments
tapika commented
If you try to use Splat.Drawing
nuget package with StrongNamer 0.2.5 on .NET Core 3.1 project - results in compilation error:
1>Failed to write signed assembly to '...\SignedAssemblies\Splat.Drawing.dll'. Mono.Cecil.ResolutionException: Failed to resolve System.Reflection.BindingFlags
1> at Mono.Cecil.Mixin.CheckedResolve(TypeReference self)
1> at Mono.Cecil.MetadataBuilder.GetConstantType(TypeReference constant_type, Object constant)
1> at Mono.Cecil.MetadataBuilder.AddConstant(IConstantProvider owner, TypeReference type)
1> at Mono.Cecil.MetadataBuilder.AddParameter(UInt16 sequence, ParameterDefinition parameter, ParamTable table)
1> at Mono.Cecil.MetadataBuilder.AddParameters(MethodDefinition method)
1> at Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
1> at Mono.Cecil.MetadataBuilder.AddMethods(TypeDefinition type)
1> at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
1> at Mono.Cecil.MetadataBuilder.AddTypes()
1> at Mono.Cecil.MetadataBuilder.BuildTypes()
1> at Mono.Cecil.MetadataBuilder.BuildModule()
1> at Mono.Cecil.MetadataBuilder.BuildMetadata()
1> at Mono.Cecil.ModuleWriter.<>c.<BuildMetadata>b__2_0(MetadataBuilder builder, MetadataReader _)
1> at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
1> at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata)
1> at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
1> at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
1> at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
1> at StrongNamer.AddStrongName.ProcessAssembly(ITaskItem assemblyItem, Byte[] keyBytes, StrongNamerAssemblyResolver resolver)
1>CSC : error CS0006: Metadata file '...\SignedAssemblies\Splat.Drawing.dll' could not be found
Chaoses-Ib commented
I have the same problem:
1> Failed to write signed assembly to 'C:\...\obj\Debug\SignedAssemblies\Abc.Core.dll'. Mono.Cecil.ResolutionException: Failed to resolve Abc.Interop.Win32/MouseFlag
1> at Mono.Cecil.Mixin.CheckedResolve(TypeReference self)
1> at Mono.Cecil.MetadataBuilder.GetConstantType(TypeReference constant_type, Object constant)
1> at Mono.Cecil.MetadataBuilder.AddConstant(IConstantProvider owner, TypeReference type)
1> at Mono.Cecil.MetadataBuilder.AddParameter(UInt16 sequence, ParameterDefinition parameter, ParamTable table)
1> at Mono.Cecil.MetadataBuilder.AddParameters(MethodDefinition method)
1> at Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
1> at Mono.Cecil.MetadataBuilder.AddMethods(TypeDefinition type)
1> at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
1> at Mono.Cecil.MetadataBuilder.AddTypes()
1> at Mono.Cecil.MetadataBuilder.BuildTypes()
1> at Mono.Cecil.MetadataBuilder.BuildModule()
1> at Mono.Cecil.MetadataBuilder.BuildMetadata()
1> at Mono.Cecil.ModuleWriter.<>c.<BuildMetadata>b__2_0(MetadataBuilder builder, MetadataReader _)
1> at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
1> at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
1> at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
1> at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
1> at StrongNamer.AddStrongName.ProcessAssembly(ITaskItem assemblyItem, Byte[] keyBytes, StrongNamerAssemblyResolver resolver)
1>CSC : error CS0006: Metadata file 'C:\...\obj\Debug\SignedAssemblies\Abc.Core.dll' could not be found
And here is Abc.Interop.Win32.MouseFlag:
[Flags]
public enum MouseFlag : uint
{
Move = 0x0001,
LeftDown = 0x0002,
LeftUp = 0x0004,
RightDown = 0x0008,
RightUp = 0x0010,
MiddleDown = 0x0020,
MiddleUp = 0x0040,
XDown = 0x0080,
XUp = 0x0100,
VerticalWheel = 0x0800,
HorizontalWheel = 0x1000,
VirtualDesk = 0x4000,
Absolute = 0x8000,
}
Do you have any workarounds for this?