none
Публикация проэкта RRS feed

  • Вопрос

  • Написал небольшую игрушку с использованием DirectX опубликовал проэкт(MS 2008) при установке выводит сообщение о ошибке нажимаю отладка и понимаю что проэкт не находит 3D модели как ни старался ничего не получаетсяю Подскажите пожалуйста куда их нужно вставлять?.

    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:59 MSDN Forums Consolidation (От:Visual C#)
    5 октября 2009 г. 8:42

Ответы

Все ответы

  • Вы делаете инсталляционный пакет? Могли бы показать код ошибки?
    6 октября 2009 г. 11:02
  • Выводит Project1.exe-онаружена ошибка приложение будет закрыто. Вот подпись ошибки :EventType : clr20r3     P1 : project1.exe     P2 : 0.0.0.0     P3 : 4acb4c5a
    P4 : microsoft.directx.direct3dx     P5 : 1.0.2902.0     P6 : 415b0e6c    
    P7 : 2fb     P8 : 197     P9 : bliyc204oyp2isi3z3esjlqmn3xgmndu   
    6 октября 2009 г. 14:01
  • если я правильно понял вы делаете инсталляционный пакет..а при установке не устанавливаются библиотеки..Если это так то при создании инсталлятора (Project->Properties кнопка Prerequisites) можно указать любые библиотеки для установки.
    7 октября 2009 г. 11:01
  • Прошу прощения я наверно неочень понятно объяснил. Все библиотеки стояли на авто я поставил требуются, вывело туже ошибку нажал отладка показывает ошибку. DirectX.Direct3D.Direct3DXException не обработано
      Message="Ошибка в приложении."
      Source="Microsoft.DirectX.Direct3DX"
      ErrorCode=-2005531767
      ErrorString="Unknown"
      StackTrace:
           в Microsoft.DirectX.Direct3D.Mesh.FromFile(String filename, MeshFlags options, Device device, GraphicsStream& adjacency, ExtendedMaterial[]& materials, EffectInstance[]& effects)
           в Microsoft.DirectX.Direct3D.Mesh.FromFile(String filename, MeshFlags options, Device device, ExtendedMaterial[]& materials)
           в Dodger.DodgerGame.LoadMesh(Device device, String file, Material[]& meshMaterials, Texture[]& meshTextures)
           в Dodger.DodgerGame.OnDeviceReset(Object sender, EventArgs e)
           в Dodger.DodgerGame.InitializeGraphics()
           в Dodger.DodgerGame.Main()
      InnerException:

    Тоесть мой проэкт не находит 3Д модели игры(сами файлы) при публикации они просто небыли включены в пакет. То есть если просто взять папку проэкта удалить все файлы кода и оставить только откомпелированый файл и файлы  *.*.х то всё работает а когда создается инсталяционный пакет эти файлы почемуто не копируются туда и соответственно не ставятся потом вместе с программой.
    Вот для примера строка подключения файла: roadMesh = LoadMesh(device, @"..\..\Box01.x", ref roadMaterials, ref roadTextures);

    А это строка в которой происходит ошибка при запкске программы установленой пакетом:Mesh tempMesh = Mesh.FromFile(file, MeshFlags.Managed, device, out mtrl);
    Получается что весь вопрос в том как при создании инсталяционного пакета подключить эти файлы Box01.x?

    7 октября 2009 г. 21:02
  • Попробуйте создать инсталлятор по следующей документации (часть 2)
    • Предложено в качестве ответа I.Vorontsov 12 октября 2009 г. 15:02
    • Помечено в качестве ответа студент2012 14 октября 2009 г. 6:58
    8 октября 2009 г. 9:01
  • В принципе редактор инсталляционных пакетов позволит вам добавить и развернуть любой файл. Если у вас ClickOnce - тут все сложнее, пожет потребоваться Mage. И еще - можно вместо внешнего подключения добавить файлы в саму сборку (в качестве Content) и потом вытягивать их из ресурсов.
    - Dmitri Nesteruk
    • Предложено в качестве ответа I.Vorontsov 12 октября 2009 г. 15:02
    10 октября 2009 г. 8:57
  • И еще - можно вместо внешнего подключения добавить файлы в саму сборку (в качестве Content) и потом вытягивать их из ресурсов.

    Вот об этом можна поподробнее пожалуйста.
    13 октября 2009 г. 4:36
  • Все работает получилось спасибо.
    14 октября 2009 г. 6:59