signtool.exe не найден [дубликат]

Если вы не инициализировали ссылочный тип и хотите установить или прочитать одно из его свойств, он будет генерировать исключение NullReferenceException.

Пример:

Person p = null;
p.Name = "Harry"; // NullReferenceException occurs here.

Вы можно просто избежать этого, проверив, является ли переменная не нулевой:

Person p = null;
if (p!=null)
{
    p.Name = "Harry"; // Not going to run to this point
}

Чтобы полностью понять, почему выбрано исключение NullReferenceException, важно знать разницу между типами значений и ссылочные типы .

Итак, если вы имеете дело со типами значений, NullReferenceExceptions не может произойти. Хотя вам нужно поддерживать оповещение при работе со ссылочными типами!

Только ссылочные типы, как следует из названия, могут содержать ссылки или буквально буквально ничто (или «нуль»). Если типы значений всегда содержат значение.

Типы ссылок (эти должны быть проверены):

  • динамический
  • объект
  • string

Типы значений (вы можете просто игнорировать эти):

  • Числовые типы
  • Интегральные типы
  • Типы с плавающей запятой
  • decimal
  • bool
  • Пользовательские структуры

89
задан sll 25 September 2011 в 21:27
поделиться

11 ответов

Теперь попробуйте опубликовать приложение ClickOnce. Если вы все еще находите ту же проблему, проверьте, установлен ли в системе предварительный просмотр Microsoft .NET Framework 4.5 Developer. Предварительный просмотр разработчика Microsoft .NET Framework 4.5 представляет собой предварительную версию .NET Framework и не должен использоваться в производственных сценариях. Это обновление на месте .NET Framework 4. На месте этого продукта необходимо удалить этот продукт из ARP.

https://blogs.msdn.microsoft.com/vsnetsetup/2013/11/18/an-error-occurred-while-signing-signtool-exe-not-found/

Наконец, вы можете захотеть установить предварительный просмотр клиента, а не на предварительный просмотр разработчика

6
ответ дан Micah Armantrout 25 August 2018 в 14:02
поделиться

Инструменты публикации ClickOnce не установлены как часть Типовых параметров установки. Поэтому вы должны установить его в расширенном режиме.

Это диалоговое окно можно найти в Windows 7, выбрав Панель управления> Удалить программу , щелкнув правой кнопкой мыши на Microsoft Visual Studio Professional 2015 и выбрав Change. Откроется диалоговое окно Visual Studio. Выберите Modify из набора кнопок внизу, и появится диалоговое окно.

176
ответ дан alexanian 25 August 2018 в 14:02
поделиться

Повторная установка SDK не помогла мне, но установила SDK + .NET 3.5 из приведенной ниже ссылки: https://www.microsoft.com/en-us/download/details.aspx?id=3138

1
ответ дан Benjamin Swedlove 25 August 2018 в 14:02
поделиться

У меня была аналогичная проблема. По какой-то причине в свойствах проекта -> Signing -> Sign ClickOnce манифеста была включена.

Я снял флажок, и проблема исчезла.

1
ответ дан Chand 25 August 2018 в 14:02
поделиться

Нажмите «Применить» -> «Свойства» -> «Подписать» -> «Непроверено». Подпишите манифест ClickOnce.

Проблема будет решена.

Примечание. Помните, что это решение удаляет безопасность из вашего проекта. Перед тем, как сделать это, обратитесь за помощью к более узнаваемому коллеге.

58
ответ дан Community 25 August 2018 в 14:02
поделиться

SignTool перемещается в другое место в последнем SDK: C:\Program Files (x86)\Windows Kits\8.1\bin\x86

Необходимо установить инструменты публикации ClickOnce во время установки Visual Studio 2015.

Вы можете повторно запустить установку из раздела «Программы и функции»; найдите Visual Studio в списке и нажмите «Изменить».

21
ответ дан Jason Stevenson 25 August 2018 в 14:02
поделиться

Ни один из приведенных выше ответов не говорит о отключении ClickOnce. В моей ситуации я никогда не использовал ClickOnce для своих приложений, но после того, как я обновился до VS 2015, он внезапно включился, и я попытался скомпилировать ошибку «SignTool.exe not found».

Чтобы отключить вас, войдите в свойства вашего проекта (щелкните правой кнопкой мыши) и выберите Безопасность | Снимите флажок Включить настройки безопасности ClickOnce .

Вы можете оставить манифест, отмеченный на вкладке «Подписание», потому что ему нечего подписывать, если он отключен.

Я подтвердил, что снятие блокировки безопасности разрешило ошибку компиляции в моих проектах.

6
ответ дан Jjmboni 25 August 2018 в 14:02
поделиться

Это простое исправление. Откройте проект, на который вы получаете эту ошибку. Нажмите «Проект» вверху. Затем нажмите «Свойства» (будет именем открытого проекта), затем нажмите «Безопасность», затем снимите флажок «Включить параметры безопасности ClickOnce».

Это должно исправить все.

9
ответ дан Joe Smith 25 August 2018 в 14:02
поделиться

Мне нужно Подпись, поэтому не удалось проверить, как было предложено.

Затем перейдите в Панель управления -> Программы и компоненты -> Microsoft Visual Studio 2015 Нажмите «Изменить», затем установщик загрузится, и вам нужно щелкнуть Измените, чтобы добавить функцию ClickOnce Publishing Tools.

1
ответ дан Karthik 25 August 2018 в 14:02
поделиться

Нажмите «Проект» вверху. Затем нажмите «Свойства» -> Подписать -> Отменить флажок [Подписать манифест ClickOnce] теперь работает

6
ответ дан Monzur 25 August 2018 в 14:02
поделиться

Вы можете исправить это, нажав на установочное приложение VS. Затем нажмите «Изменить»> «Отметить приложение ClickOnce», а затем обновите VS. Также я думаю, что @Alex Erygin прав. Это плохое решение для Нажмите «Применить» -> «Свойства» -> «Подписать» -> «Снимите флажок». Выполните манифест ClickOnce. Это не решение. Он только обошел эту проблему.

17
ответ дан Stoyan Petkov 25 August 2018 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: