2013-03-21 25 views
7

Napisałem całkiem prostą aplikację C#Windows Forms, a kolega chce przetestować ją w systemie Windows 7 przy użyciu Parallels 8, ponieważ ma tylko komputer Mac.Uruchamianie aplikacji C# Windows Forms w systemie Windows 7 w programie Parallels 8 error

jest problem, gdy zaczyna go za pomocą pliku EXE w folderze debugowania, dostaje ten błąd:

Error starting OMAPI (Unable to load DLL 'libomapi.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)) Check the required .dll files are present the correct versions: OmApiNet.dll libomapi.dll

Jak widać z obrazka poniżej, wymagane pliki DLL są tam w tym samym folderze i jeśli zabiera ten folder debugowania na komputer z systemem Windows, działa dobrze, więc jest to z pewnością jakiś problem związany z maszyną wirtualną lub paralelą.

Screenshot of error

Jak mogę rozwiązać ten problem?

ja naprawdę nie używane maszyny wirtualne na tyle, żeby wiedzieć, co może być problemem ...

+4

Jaki jest format pliku wykonywalnego a biblioteki? Biorąc pod uwagę, że jest w tym samym folderze, powinien go znaleźć, więc zastanawiam się, czy to naprawdę zły problem z formatem (32-bitowy czy 64-bitowy)? – Lloyd

+2

Może się również okazać, że jest to zewnętrzny problem polegający na zależnościach, coś takiego nie istnieje w innych konfiguracjach, spróbuj użyć Dependency Walker - http://www.dependencywalker.com/ – Lloyd

+7

Widziałem zabawne rzeczy stanie się, jeśli projekt zostanie skompilowany dla AnyCPU, ale biblioteką zależną jest x86, a docelowym systemem operacyjnym jest x64. –

Odpowiedz

0

byłoby interesujące uruchomić ProcMon na nią i zobaczyć, co to naprawdę robi, aby spróbować znaleźć te pliki.

0

Jest to prawdopodobnie problem związany z dyskiem sieciowym. Niech skopiuje ten folder z dysku Y: (udostępnionego ze swojego Macintosha) na dysk C: i ponownie go uruchomi.

0

Wygląda na to, że próbujesz uruchomić aplikację z udziału sieciowego, w którym platforma .NET zabrania stosowania jako zagrożenia bezpieczeństwa. Spróbuj skopiować pliki w dowolne miejsce na maszynie wirtualnej, na przykład C: \ Temp.