Problem:
I get “no suitable method found to override” errors when I mole system.dll.
Solution:
Modify the System.moles file in your project and exclude everything except the types you are trying to mole.
Explanation:
I was trying to mole the SerialPort class in System.IO.Ports. After adding the mole for System.dll I began to get “no suitable method found to override” errors. To resolve this issue I simply double clicked the System.moles file to open it in my IDE. Then I modified the file so that moles were created only for the types under System.IO. Change System.moles from this:
<Moles xmlns="http://schemas.microsoft.com/moles/2010/">
<Assembly Name="System" />
</Moles>
to this:
<Moles xmlns="http://schemas.microsoft.com/moles/2010/">
<Assembly Name="System" />
<StubGeneration>
<Types>
<Clear />
<Add Namespace="System.IO!" />
</Types>
</StubGeneration>
</Moles>