In der Ära vor Visual Studio 2012 war Moles ein beliebtes Isolation Framework, welches in vielen unserer Projekte zum Einsatz kam. Mit Visual Studio 2012 wird Moles durch Fakes ersetzt. Da Visual Studio 2012 und 2010 Side-by-Side ausgeführt werden können, ist die Erwartung eines Entwicklers zurecht die, dass alle Visual Studio 2010-Projekte weiterhin gebaut werden können. Das sollte auch für die Testprojekte gelten, die Moles verwenden. Doch dies ist leider nicht der Fall.
Nach der Installation von Visual Studio 2012 scheitert der Build von Testprojekten, welche Moles nutzen, mit folgender Meldung:
The command ""C:\Program Files\Microsoft Moles\bin\moles.exe" @C:\Projects\...\
DataSetService\DataSetService.Test\obj\Debug\Moles\moles.args" exited with code -1007.
Die Ursache hierfür liegt im .NET 4.5 In-Place-Upgrade. Eine mögliche Lösung beschreibt das Microsoft Research Team in seinem Blog. Dieser Workaround funktioniert aber nicht in allen Fällen, und so muss Testcode evtl. wieder von Moles befreit werden. Wenn Ihre Solutions gleichzeitig auf Visual Studio 2012 umgezogen werden, lohnt sich der Wechsel zu Fakes, anderfalls bleibt in den meisten Fällen nur das Refactoring des Test Codes. Wir helfen Ihnen gern dabei.