Проблема установки с приложением C # - PullRequest
2 голосов
/ 26 января 2011

Я разработал приложение на C # с использованием Visual Studio 2010 с .NET Framework 4.0 и это хорошо работает на моем ПК. Я использовал DLL для подключения БД Oracle. Я создал проект установки для своего приложения, чтобы развернуть его, когда я попытался установить приложение на второй ПК, он попросил меня установить клиент .NET Framework, и я установил его. После этого, когда я пытался запустить свое приложение, оно работает, но каждый раз, когда код пытается вызвать функцию из DLL, он выдает исключение:

System.IO.FileLoadException: не удалось загрузить файл или сборку 'System.Data.OracleClient, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089' или одна из ее зависимостей

Я добавил DLL в установочный файл, но он не работал. Я попытался добавить этот код в мой конфигурационный файл:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <qualifyAssembly partialName="System.Data.OracleClient" fullName="System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </assemblyBinding>
</runtime>

Но это тоже не сработало. Любая помощь, пожалуйста.

Ответы [ 2 ]

1 голос
/ 26 января 2011

Я обнаружил следующее: Ответ , пожалуйста, проверьте первый ответ, возможно, эта проблема вызвана тем, что я установил клиентский профиль .NET4 на второй ПК, а не .NET4 Full framework

0 голосов
/ 26 января 2011

Если вы уверены, что OracleClient-Dll развернут на втором ПК, проблема заключается в части «или одной из его зависимостей».

По крайней мере, когда я использовал клиент Oracle последнийВ свое время (несколько лет назад) требовалась установка дополнительных клиентских библиотек Oracle с установочных компакт-дисков Oracle.Это потому, что .NET Dll была просто оболочкой, которая вызывала клиентские Dll, развернутые на клиентском ПК.

Кстати: наше решение в то время (потому что мы не хотели, чтобы наши клиенты устанавливали клиент Oracle)должен был купить .NET Dll от DataDirect .Они недешевы, но они реализуют полный доступ к данным в управляемом коде, поэтому вам действительно нужно просто скопировать несколько библиотек DLL в папку вашего приложения (или в GAC, если хотите).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...