В Visual Studio отсутствует ссылка "Добавить установщик" в сервисном проекте
Я создаю службу Windows и следую этой статье MSDN, но я застрял на шаге 3 в разделе "Создание установщика". Я не могу найти ссылку "Добавить установщик", на которую она ссылается. Я щелкнул везде, в том числе следуя инструкциям, которые он дает точно, но я не могу найти его. У некоторых людей в Google была такая же проблема, но они не нашли решения (кроме добавления объекта ServiceInstaller и его настройки вручную).
Кто-нибудь еще имел эту проблему и нашел причину? Я использую VS2008 и нацеливаюсь на.Net 2.0, если это имеет значение.
4 ответа
"Серая область", о которой они говорят, - это панель "Команды" из свойств панели "Свойства" (не опечатка). Это не очень полезно, так что вы, вероятно, отключили его, я сделал.
Вы можете либо снова включить его, щелкнув правой кнопкой мыши панель "Свойства" и выбрав "Команды", либо добавить проект установщика напрямую, щелкнув правой кнопкой мыши представление "Конструкция службы" (большое загарное окно с "Чтобы добавить компоненты в ваш класс...". ") и выбрав" Добавить установщик ".
Чтобы ознакомиться с новой версией Visual Studio Express(2015):
Кажется, что у нас не может быть этого "Add Installer" из экспресс-издания. Но это действительно очень просто. Вам просто нужно создать класс и добавить приведенный ниже код.
Также вам нужно добавить ссылку System.Configuration.Install.dll.
using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;
namespace SAS
{
[RunInstaller(true)]
public class MyProjectInstaller : Installer
{
private ServiceInstaller serviceInstaller1;
private ServiceProcessInstaller processInstaller;
public MyProjectInstaller()
{
// Instantiate installer for process and service.
processInstaller = new ServiceProcessInstaller();
serviceInstaller1 = new ServiceInstaller();
// The service runs under the system account.
processInstaller.Account = ServiceAccount.LocalSystem;
// The service is started manually.
serviceInstaller1.StartType = ServiceStartMode.Manual;
// ServiceName must equal those on ServiceBase derived classes.
serviceInstaller1.ServiceName = "SAS Service";
// Add installer to collection. Order is not important if more than one service.
Installers.Add(serviceInstaller1);
Installers.Add(processInstaller);
}
}
}
Для Visual Studio 2012 щелкните правой кнопкой мыши "Services1.cs" и выберите "View Designer" (или нажмите Shift-F7). Затем щелкните правой кнопкой мыши на сером фоне дизайнера.
Тогда и только тогда вы увидите пасхальное яйцо, которое Microsoft все это время скрывала от вас: неуловимое Add Installer
ссылка на сайт.
Убедитесь, что файл .cs, в который вы пытаетесь добавить установщик, расширяется.
System.ServiceProcess.ServiceBase
и нет
System.ComponentModel.Component
.
Чтобы открыть файл .cs как код, а не в конструкторе, выберите его в обозревателе решений и нажмите F7 или щелкните его правой кнопкой мыши и выберите «Просмотреть код».