Mono.ArgumentNullOrEmptyException: Argument null or empty (Parameter 'fileName')
at Mono.Cecil.Mixin.CheckFileName(String fileName)
at Mono.Cecil.Cil.EmbeddedPortablePdbWriterProvider.GetSymbolWriter(ModuleDefinition module, String fileName)
at Mono.Cecil.Cil.DefaultSymbolWriterProvider.GetSymbolWriter(ModuleDefinition module, String fileName)
at Mono.Cecil.ModuleWriter.GetSymbolWriter(ModuleDefinition module, String fq_name, ISymbolWriterProvider symbol_writer_provider, WriterParameters parameters)
at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
at Mono.Cecil.ModuleDefinition.Write(Stream stream, WriterParameters parameters)
at Mono.Cecil.AssemblyDefinition.Write(Stream stream, WriterParameters parameters)
...
I have not tested this, but I believe the call to CheckFileName in EmbeddedPortablePdbWriterProvider.GetSymbolWriter is not necessary, as I don't think the file name is used by EmbeddedPortablePdbWriter.
I want to write an
AssemblyDefinition
with symbols embedded to a stream. I am doing:But this throws an exception:
I have not tested this, but I believe the call to
CheckFileName
inEmbeddedPortablePdbWriterProvider.GetSymbolWriter
is not necessary, as I don't think the file name is used byEmbeddedPortablePdbWriter
.https://github.com/jbevain/cecil/blob/56d4409b8a0165830565c6e3f96f41bead2c418b/Mono.Cecil.Cil/PortablePdb.cs#L485-L493
Because of this check, it seems to be impossible to write embedded symbols without writing into a file.