Как я могу развернуть свой проект C #? - PullRequest
2 голосов
/ 12 марта 2009

Как мне развернуть проект C # Visual Studio 2005, чтобы я мог запустить приложение в другой системе? Мой проект имеет несколько зависимостей и файлов, которые необходимо интегрировать при развертывании проекта.

Как лучше всего справиться с этим?

Ответы [ 6 ]

3 голосов
/ 12 марта 2009

Вам нужно знать, какие у вас зависимости.

  • вам нужно установить .Net framework
  • Вы должны явно установить все зависимости, которые вы использовали от GAC на вашей целевой машине (некоторые сторонние компоненты)
  • и вам просто нужно скопировать файлы из папки \ bin \ Release
  • установить все службы и т. Д., Если у вас есть

В простейших случаях достаточно только копирования файлов.

2 голосов
/ 12 марта 2009

Рассматривали ли вы развертывание ClickOnce ?
Это далеко от совершенства, но для проектов без огромных накладных расходов, как правило, достаточно хорошо.

1 голос
/ 12 марта 2009

Правильный ответ зависит от многих критериев.

Самый простой способ развертывания - копирование файлов. Просто поместите ваш .exe, зависимые .dll и файл .config в каталог и скопируйте его на целевой компьютер. Это просто, но есть много ограничений для этого подхода:

  • Предполагается, что на целевом компьютере установлена ​​правильная версия .NET framework
  • Это предполагает определенную техническую компетентность со стороны лица, устанавливающего программное обеспечение.
  • Установка не будет выполнять базовые функции, такие как создание пунктов меню «Пуск».

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

  • Программы устанавливаются в кэш ClickOnce, а не в каталог Program Files.
  • Если ваша программа делает что-либо за пределами изолированной программной среды ClickOnce, вам придется иметь дело с повышением безопасности и подписанием кода.

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

  • Чисто удалите программу через Установка и удаление программ.
  • Предоставить фактический пользовательский интерфейс для установки, который позволяет пользователю решать, куда поместить программу.
  • Поддержка скриптовой установки через MSIEXEC.
  • Установите компоненты помимо программы, например, базы данных, COM-объекты и т. д.
  • Поместить компоненты в GAC целевой машины.
1 голос
/ 12 марта 2009

У вас более или менее есть три варианта (может быть, 4?), Как я вижу.

  1. Установщик Windows
  2. ClickOnce
  3. Просто раздай сам exe

В вашем конкретном случае я бы предложил ClickOnce, если проект не слишком масштабный и имеет слишком много зависимостей.

Для других альтернатив .

1 голос
/ 12 марта 2009

Вы можете щелкнуть правой кнопкой мыши файл проекта в Visual Studio и опубликовать в другом месте. Это позволит создать сайт и скопировать его в указанный каталог.

Кроме того, если вам нужно что-то сделать во время сборки, вы можете указать собственные действия по сборке на вкладке сборки свойств проекта.

РЕДАКТИРОВАТЬ: теперь, когда я вижу, вы добавили, что это приложение для Windows, мой ответ не имеет значения. Я бы попытался добавить проект установки и развертывания в Visual Studio для установки / развертывания приложения Windows.

0 голосов
/ 12 марта 2009

Что за проект?

Предполагая, что это обычное приложение winforms, просто скопируйте все из каталога obj \ debug или obj \ release на новый компьютер. Затем запустите свой исполняемый файл

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