2009-03-12 5 views
2

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

Каков наилучший способ справиться с этим?

ответ

2

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

1

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

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

EDIT: теперь, когда я вижу, что вы добавили, что это приложение для Windows, мой ответ не имеет значения. Я попробую добавить проект установки и развертывания в visual studio для обработки установки/развертывания вашего приложения Windows.

0

Какой проект?

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

+0

, но obj \ debug имеет DLL, о котором я говорил. как я могу добавить свои ссылочные DLL и развернуть проект. – SyncMaster

+0

Перейдите к свойствам ссылочных библиотек DLL и убедитесь, что для свойства Copy Local установлено значение true. После восстановления VS скопирует файлы в каталог отладки. – NotMe

3

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

  • вам необходимо установить рамки .Net
  • вы должны явно установить все зависимости, которые вы использовали из GAC на целевой машине (некоторые 3-й компоненты партии)
  • , а затем вы просто необходимо скопировать файлы с \ Bin \ Release папки
  • установить все услуги и т.д., если у вас есть какой-либо

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

1

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

  1. Windows Installer
  2. ClickOnce
  3. Просто распространять сам ехе

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

Для других alternatives.

1

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

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

  • Это предполагает, что целевая машина имеет правильную версию платформы .NET установлен
  • Это предполагает определенную техническую компетентность со стороны монтажникомипотребителей программного обеспечения.
  • Установка не будет выполнять основные функции, такие как создание пунктов меню запуска.

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

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

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

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