Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

C# 32 bit kod plus managed 32 bit DLL ladujaca inne 32 bit unmanaged DLL na x64.

6 views
Skip to first unread message

A n g l e r

unread,
Jun 19, 2008, 12:56:12 PM6/19/08
to
Witam wszystkich.


Mam ogromny problem z kompatybilnoscia wstecz na Visual Studio 2008.
Jest projekt, ktory sklada sie z kodu w C#, managed DLL w c++ ktora
odnosi sie do unmanaged DLLs.

Na starym komputerze wszystko bylo pod Visual 2005 w x86 wylacznie i
dizalalo OK. Na nowym windows x64 skompilowalem to pod x64 i tez dziala.

Problem zaczyna sie kiedy chce to wszystko skompilowac i uruchomic w
x86! Kompiluje sie bez problemu, ale kiedy sie uruchamia, wywala sie z
bledami typu:
The specified module could not be found. (Exception from HRESULT:
0x8007007E)

czy tez

Troubleshooting Exceptions: System.BadImageFormatException

Na tej stronce pisze, ze to przyczyna wymieszania kodu
http://msdn.microsoft.com/en-us/library/k7137bfe(VS.80).aspx

Tylko ze ja wszystko kompiluje z parametrami /machine:x86 /platform:x86


Juz odchodze od zmyslow bo nigdzie sie nie moge dogrzebac co to za
problem. Raczej nie chodzi o DLL bo probowalem skompilowanych przeze
mnie jak i gotowych x86 wiec tu raczej nic sie nie dizeje. Gdzies na
styku z C# wszystko sie rozlatuje.


Czy macie jakies doswiadczenie i pomysly co z tym wszystkim zrobic
dalej? Zalezy mi na tym, bym mogl kompilowac na obie platformy, nie
tylko na x64!

Dzieki z gory,
P.

Tomasz Muszyński

unread,
Jun 19, 2008, 4:04:17 PM6/19/08
to
A n g l e r pisze:

> Mam ogromny problem z kompatybilnoscia wstecz na Visual Studio 2008.
> Jest projekt, ktory sklada sie z kodu w C#, managed DLL w c++ ktora
> odnosi sie do unmanaged DLLs.

Oczywiście te unmanaged DLL są skompilowane na tą samą wersję procesora
co ta managed DLL?

> Na starym komputerze wszystko bylo pod Visual 2005 w x86 wylacznie i
> dizalalo OK. Na nowym windows x64 skompilowalem to pod x64 i tez dziala.
>
> Problem zaczyna sie kiedy chce to wszystko skompilowac i uruchomic w
> x86! Kompiluje sie bez problemu, ale kiedy sie uruchamia, wywala sie z
> bledami typu:
> The specified module could not be found. (Exception from HRESULT:
> 0x8007007E)
>
> czy tez
>
> Troubleshooting Exceptions: System.BadImageFormatException

No to wyraźnie wskazuje, że któraś DLL wciąż jest skompilowana dla x64.
Pamiętaj, że bezwzględnie WSZYSTKIE biblioteki muszą być w wersji na ten
sam procesor, poza kodem .Net, który może być z target=Any, ale wtedy
biblioteki niezarządzane muszą być w wersji takiej jak windows.

> Na tej stronce pisze, ze to przyczyna wymieszania kodu
> http://msdn.microsoft.com/en-us/library/k7137bfe(VS.80).aspx
>
> Tylko ze ja wszystko kompiluje z parametrami /machine:x86 /platform:x86

Te unmanaged też?

tm

A n g l e r

unread,
Jun 19, 2008, 5:19:11 PM6/19/08
to

>> Mam ogromny problem z kompatybilnoscia wstecz na Visual Studio 2008.
>> Jest projekt, ktory sklada sie z kodu w C#, managed DLL w c++ ktora
>> odnosi sie do unmanaged DLLs.
>
> Oczywiście te unmanaged DLL są skompilowane na tą samą wersję procesora
> co ta managed DLL?

Wszystkie sa x86, ale musze sie dogrzebac jeszcze do zaleznosci w tych
unmanaged. Mam przeczucie ze ktoras z nich odnosi sie poprzez sicezke do
windows32 katalogu czy cos takiego i zasysa x64 biblioteke bo pod xp x64
wszystkie 32 bitowe wyladowaly w syswow64. To na razie jedyne
wytlumaczenie jakie mi przychodzi do glowy .... Bo nawet mam jeden
projekt skopiowany po kompilacji z kompa z windows x86 i dzieje sie to
samo choc jest to inny projekt ...


>
>> Tylko ze ja wszystko kompiluje z parametrami /machine:x86 /platform:x86
> Te unmanaged też?

Czesc tych unmanaged jest skompilowana wiec nie mam na nie wplywu - ale
sa dwie wersje, oddzielnie dla x86 i x64. Jeszcze poszukam tych co na
nie wplywu nie mam.

Znasz cos dobrego do przeszukiwania DLLi za zaleznosciami?


Dzieki,
p.

Wiktor Zychla

unread,
Jun 20, 2008, 4:32:09 AM6/20/08
to
> Znasz cos dobrego do przeszukiwania DLLi za zaleznosciami?
>

stary dobry Dependency Walker

Wiktor Zychla

0 new messages