You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I try use Scalpel.Fody, but I get exception: Error 1 Fody: An unhandled exception occurred: Exception: Member 'PcapngUtils.Pcap.SectionHeader' is declared in another module and needs to be imported StackTrace: at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider) at Mono.Cecil.SignatureWriter.WriteTypeSignature(TypeReference type) at Mono.Cecil.MetadataBuilder.GetFieldSignature(FieldReference field) at Mono.Cecil.MetadataBuilder.AddField(FieldDefinition field) at Mono.Cecil.MetadataBuilder.AddFields(TypeDefinition type) at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type) at Mono.Cecil.MetadataBuilder.AddTypeDefs() at Mono.Cecil.MetadataBuilder.BuildTypes() at Mono.Cecil.MetadataBuilder.BuildModule() at Mono.Cecil.ModuleWriter.<BuildMetadata>b__0(MetadataBuilder builder, MetadataReader _) at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func 3 read) at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata) at Mono.Cecil.ModuleWriter.WriteModuleTo(ModuleDefinition module, Stream stream, WriterParameters parameters) at Mono.Cecil.ModuleDefinition.Write(Stream stream, WriterParameters parameters) at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters) at InnerWeaver.WriteModule() in c:\ConsoleBuildAgent\work\ed448661dbb30d2e\FodyIsolated\ModuleWriter.cs:line 18 at InnerWeaver.Execute() in c:\ConsoleBuildAgent\work\ed448661dbb30d2e\FodyIsolated\InnerWeaver.cs:line 65 Source: Mono.Cecil TargetSite: Mono.Cecil.MetadataToken LookupToken(Mono.Cecil.IMetadataTokenProvider) ScalpelProblem
My project contain nUnit framework. Exception occured, when first class has atribute [TestFixture], and second class contains object of first class (as field).
First class
[TestFixture]
public sealed class SectionHeader
{
public UInt16 MajorVersion { get; set; }
}
Secons class
public sealed class PcapWriter
{
public SectionHeader header = null;
}
so that is expected. Scalpel removes all test releated types. So since SectionHeader is marked with [TestFixture] it is removed. But you have a non-test related type PcapWriter which uses SectionHeader. So when it tries to write the assembly back it is pointing out that it cant find SectionHeader.
Either also remove PcapWriter with a [Scalpel.RemoveAttribute] or remove [TestFixture] from SectionHeader.
Hi,
I try use Scalpel.Fody, but I get exception:
Error 1 Fody: An unhandled exception occurred: Exception: Member 'PcapngUtils.Pcap.SectionHeader' is declared in another module and needs to be imported StackTrace: at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider) at Mono.Cecil.SignatureWriter.WriteTypeSignature(TypeReference type) at Mono.Cecil.MetadataBuilder.GetFieldSignature(FieldReference field) at Mono.Cecil.MetadataBuilder.AddField(FieldDefinition field) at Mono.Cecil.MetadataBuilder.AddFields(TypeDefinition type) at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type) at Mono.Cecil.MetadataBuilder.AddTypeDefs() at Mono.Cecil.MetadataBuilder.BuildTypes() at Mono.Cecil.MetadataBuilder.BuildModule() at Mono.Cecil.ModuleWriter.<BuildMetadata>b__0(MetadataBuilder builder, MetadataReader _) at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func 3 read) at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata) at Mono.Cecil.ModuleWriter.WriteModuleTo(ModuleDefinition module, Stream stream, WriterParameters parameters) at Mono.Cecil.ModuleDefinition.Write(Stream stream, WriterParameters parameters) at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters) at InnerWeaver.WriteModule() in c:\ConsoleBuildAgent\work\ed448661dbb30d2e\FodyIsolated\ModuleWriter.cs:line 18 at InnerWeaver.Execute() in c:\ConsoleBuildAgent\work\ed448661dbb30d2e\FodyIsolated\InnerWeaver.cs:line 65 Source: Mono.Cecil TargetSite: Mono.Cecil.MetadataToken LookupToken(Mono.Cecil.IMetadataTokenProvider) ScalpelProblem
My project contain nUnit framework. Exception occured, when first class has atribute [TestFixture], and second class contains object of first class (as field).
[TestFixture]
public sealed class SectionHeader
{
public UInt16 MajorVersion { get; set; }
}
public sealed class PcapWriter
{
public SectionHeader header = null;
}
Here is an example project that can reproduce the issue:
https://dl.dropboxusercontent.com/u/75969946/ScalpelProblem.7z
I checked the source code but had no idea how to fix it :/.
The text was updated successfully, but these errors were encountered: