Я не могу запустить опубликованное приложение на другом компьютере - PullRequest
2 голосов
/ 27 марта 2011

Я разработал игру в Visual Studio C # с XNA. Когда я публикую приложение в приложении ClickOnce, оно отлично работает на моем компьютере. Тем не менее, я попытался .zip папку и загрузить онлайн через ftp, и когда я загружаю и устанавливаю на другом компьютере, это не работает. Он просто говорит, что «Имя приложения перестало работать». Кто-нибудь может мне помочь?

Ответы [ 4 ]

4 голосов
/ 27 марта 2011

Появляется сообщение об ошибке, потому что .NET Framework или XNA Framework правильной версии не установлены.

Вы можете просто установить их на целевой машине, но, вероятно, вы хотите, чтобы ClickOnce работал.

Щелкните правой кнопкой мыши свой проект и выберите Свойства.Прежде всего, перейдите в приложение и запишите «Target Framework».Затем перейдите на страницу публикации и нажмите «Предварительные условия».Обычно вам понадобится:

  • Профиль клиента Microsoft .NET Framework 4 (x86 и x64)
  • Распространяемый Microsoft XNA Framework 4.0 4.0
  • Установщик Windows 3.1

Если вы используете другие версии XNA или .NET Framework, вам нужно будет выбрать соответствующие предварительные условия (или изменить версию платформы, на которую вы ориентируетесь).Установщик Windows требуется самим ClickOnce.

Также обратите внимание на флажок в самом верху (он должен быть отмечен).В нем написано «Создать программу установки для установки необходимых компонентов».Это означает, что инструмент публикации создаст setup.exe для вашего проекта. Именно этот исполняемый файл отвечает за установку необходимых компонентов (а затем запускает ваш установщик ClickOnce).Если вы устанавливаете напрямую с помощью ClickOnce, это может сработать, но у вас не будет установленных компонентов, и ваша игра не будет работать (с этим тупым сообщением об ошибке), если они отсутствуют.

См. Также этот ответ: Осуществимость игры XNA на ПК

1 голос
/ 28 марта 2011

Итак, мой старый ответ - хорошая информация, поэтому я ее оставлю.Но я думаю, что это также может быть неправильно.

Я подозреваю, что ваше приложение запускается нормально (фреймворки и все), а затем по какой-то причине выдает необработанное исключение.Не зная, что это за исключение, я не могу по-настоящему посоветовать вам это.Вот простой и быстрый способ выяснить это:

Откройте Program.cs и оберните содержимое функции Main следующим образом:

try
{
    // The old contents of Main go here
}
catch(Exception ex)
{
    MessageBox.Show(ex.ToString());
}

Вы такженужно добавить ссылку на System.Windows.Forms в ваш проект.Я не рекомендую оставлять этот код на месте во время разработки (потому что вы хотите, чтобы отладчик останавливался на необработанных исключениях - и этот код обрабатывает их).

1 голос
/ 27 марта 2011

Похоже, ваш инсталлятор на самом деле не устанавливает все, что ему нужно, и на первом компьютере отсутствуют недостающие зависимости.Сначала я попробую войти в fusion, а затем подключу отладчик, если вам нужно.

0 голосов
/ 27 марта 2011

Убедитесь, что XNA / .NET установлена ​​правильно (вплоть до конкретной версии)

Чтобы найти ошибку, перейдите в приложение «Просмотр событий», которое поставляется с Windows, и найдите ошибку, связанную с установленной версией .NET. Он должен показать вам конкретную ошибку.

enter image description here

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