Mam system Windows 64bit i aplikację C#, która używa OleDbConnection do odczytu danych Excela za pośrednictwem 32-bitowej wersji AccessDatabaseEngine.exe COMponents, ponieważ mam zainstalowany 32-bit Office (zgodnie z zaleceniami MSFT), a 64-bitowa wersja AccessDatabaseEngine nie działa z 32-bitowym pakietem Office.W jaki sposób aplikacja .NET może działać z 32-bitowym i 64-bitowym pakietem Office?
Aby moja aplikacja C# działała, musiałem ustawić "Preferuj 32-bitowe" w ustawieniach budowania projektu. Spowoduje to ustawienie flagi anycpu32bitpreferred dla kompilatora/platformy. Nie ma "preferowanych" na ten temat na platformach Intela.
Wszystko działa dobrze. Na mojej maszynie. Nie na 64-bitowej maszynie mojego szefa, w której zainstalował 64-bitowy pakiet Office.
Nie mogę znaleźć żadnej opcji app.config, aby wymusić 64bit. Czy jest jeden? Czy teoretycznie jest możliwe, że w sekwencji ładowania .NET może istnieć jedna?
MSFT nie przemyślał tego. Powinienem jakoś zbudować aplikację, która będzie działać zarówno w 32-, jak i 64-bitowych wersjach pakietu Office. Czy w jakiś sposób mogę użyć OleDbConnection?
Wiem o pliku CorFlags.exe/32bitpref-, ale wymaga to zachowania dwóch wersji pliku binarnego.
Wszelkie pomysły? Naprawione? Opcje App.Config?
Dzięki, ale nie chcą korzystać z technologii ODBC. – Dave