Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty string cause error in Class Library #428

Open
alberk8 opened this issue Jul 4, 2023 · 1 comment
Open

Empty string cause error in Class Library #428

alberk8 opened this issue Jul 4, 2023 · 1 comment

Comments

@alberk8
Copy link

alberk8 commented Jul 4, 2023

I have a simple class library below. It is a netstardard2.1 class library and when the Name string is "" it would successfully compile with error and cause runtime crash. There is no error when the string is " "

namespace ClassObfucar
{
    public class TestClass
    {
        public string Name { get; set; } = "";
        public int Age { get; set; }
    }
}

Error

1>Unhandled exception. System.ArgumentException: Member 'System.String <PrivateImplementationDetails>{DDFB045B-AD94-4EFE-B744-4B2007B9CBC2}.97C2BFC3-37BC-409C-A48F-DD96FC45C7AC::A()' is declared in another module and needs to be imported
1>   at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider)
1>   at Mono.Cecil.Cil.CodeWriter.WriteOperand(Instruction instruction)
1>   at Mono.Cecil.Cil.CodeWriter.WriteInstructions()
1>   at Mono.Cecil.Cil.CodeWriter.WriteResolvedMethodBody(MethodDefinition method)
1>   at Mono.Cecil.Cil.CodeWriter.WriteMethodBody(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 Mono.Cecil.AssemblyDefinition.Write(String fileName, WriterParameters parameters)
1>   at Obfuscar.Obfuscator.SaveAssemblies(Boolean throwException) in C:\Users\lextudio\source\repos\obfuscar\Obfuscar\Obfuscator.cs:line 296
1>   at Obfuscar.Obfuscator.RunRules() in C:\Users\lextudio\source\repos\obfuscar\Obfuscar\Obfuscator.cs:line 137
1>   at Obfuscar.Program.Main(String[] args) in C:\Users\lextudio\source\repos\obfuscar\GlobalTools\Program.cs:line 115
1>Saving assemblies...D:\Staging\ClassObfucar\ClassObfucar\Obfuscator\ClassObfucar.dll
@lextm
Copy link
Member

lextm commented Jul 20, 2023

You might upgrade to 2.2.38 release and try again. Mono Cecil is now upgraded, so the issue might be gone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants