Вопрос

Эта длинная история: я недавно построил приложение 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.

Я надеюсь, что это помогает другим, которые сталкиваются с той же проблемой! :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top