System.io.fileNotfoundException.
-
30-09-2019 - |
Вопрос
Эта длинная история: я недавно построил приложение Win32 в Visual Studio, который использует DirectX, и я отправил его некоторым друзьям, чтобы убедиться, что он работает на других машинах. У них все было .NET установлена, но приложение не работало для всех моих друзей.
В двух случаях мы некоторые «не могли загружать файл или сборку Microsoft.directx.directinput версии 1.0.29 ...» ошибки, когда они пытались запустить программу.
Я подумал, что у них должны быть другие версии .dll и, после некоторой проверки, я обнаружил, что мои ссылки мы на фиксированные версии. Я изменил свойство «фиксированной версии» в FALSE для всех DLLS DirectX, но у них все еще есть ошибки, когда они пытались запустить приложение.
Наконец я попытался скопировать все DLL в той же папке с приложением, и ошибки DirectX были исчезли, но вместо этого есть «System.io.fileNotfoundException, указанный модуль не может быть найдена» ошибка в строке, где программа пыталась Сделайте Direct3D.Texture с изображением (ссылка на изображение было правильным).
Если вы можете помочь мне с подсказками для исправления любых проблем выше, я бы очень признателен!
Решение
Похоже, вы используете управляемый DirectX, и некоторые из ваших друзей, вероятно, не установили его. Насколько я могу сказать, перераспределенный пакет для MDX больше нет. (Нет из Microsoft в любом случае, вы можете найти его где-нибудь)
Обратите внимание, что управляемый DirectX в основном устарел и во многих случаях Хна это лучший выбор.
Другие советы
Если вы используете ManagedDirectx, чем быстрый и грязный способ исправления этой проблемы. И это просто копирование DLL ManagedDirectx DLL в тот же каталог. MS говорит, что это не будет работать, и это определенно не очень подходит для производства Env. Но это будет работать в большинстве случаев.
DLL по крайней мере:
Microsoft.DirectX.Direct3D.dll
Microsoft.DirectX.Direct3DX.dll
Microsoft.DirectX.dll
Ваша проблема может быть решена сейчас.
Я тоже испытывал ту же проблему в течение 2 дней, и я наконец-то решил это. Я опробовал так много решений, которые были предложены в Интернете, но для меня ничего не работало. Мой проект ссылается на другой проект, который, в свою очередь, ссылался на Microsoft.directx.direct3dx.dll. Когда я побежал в проекте, я получил исключение: System.io.fileNotfoundException: не удалось загрузить файл или сборку microsoft.directx.direct3dx.dll 'или одну из его зависимостей. Указанный модуль не может быть найден.
Оказывается, эта DLL искала «одну из его зависимостей» и не могла найти их, так как у меня не было установлено DirectX на моей машине. Так что решение для меня было установить DirectX.
Смните следующую ссылку для веб-установщика DirectX:http://www.microsoft.com/en-in/download/details.aspx?id=35.
Я надеюсь, что это помогает другим, которые сталкиваются с той же проблемой! :)