Подтвердить что ты не робот

Почему флажок "Подписать флажок ClickOnce" сохраняет значение по умолчанию для проверки на сборке?

Близко связанный с Подписать флажок ClickOnce manifestests по умолчанию не проверяется при публикации. Ни один из ответов, перечисленных в этом вопросе, не помог мне.

У меня есть два проекта в моем решении, а также другие справочные проекты. Один проект - это С# Windows Presentation Foundation (WPF) (тип выходного приложения Windows), и когда я снимаю флажок "Подписать манифест ClickOnce", он остается не установленным после его создания.

Второй проект, который также является проектом запуска, представляет собой проект Visual Studio Tools for Office (VSTO) (тип вывода по умолчанию относится к библиотеке классов и не может быть изменен). Когда я сниму флажок "Подписать манифест ClickOnce" в нем, а затем создайте решение (или просто проект), опция будет проверена снова после завершения всего процесса сборки.

Я не знаком с данными XML в файле .csproj, но я нашел несколько вещей, которые могут быть связаны:

1.

В файле .csproj для проекта VSTO есть раздел комментариев, в котором говорится:

This section enables pre- and post-build steps. However, in VSTO use
MSBuild tasks instead of these properties.       

Раздел определяет <SignManifests>, <SignAssembly> и <ManifestCertificateThumbprint>. Первые два являются ложными. Второй имеет уникальный ключ.

2.

После обнаружения комментариев о задачах MSBuild я позже нашел:

<!-- Include additional build rules for an Office application add-in. -->
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets" />

И это очень большой файл с несколькими ссылками на подпись и т.д. Проект, в котором параметр "Подписание" остается непроверенным, не, имеет эту строку <Import Project> в своем файле .csproj.

Проблема

Теперь я не совсем понимаю, что это за файл .targets, и я не хочу его разбить в поисках решения, пока не узнаю, что мне нужно. Может ли этот файл стать причиной моей проблемы? Если да, то как я могу изменить его, чтобы он не мешал мне?  Если нет, кто-нибудь столкнулся с этим, прежде чем это может обеспечить решение?

Изменить:

Я просто прочитал Как не подписывать манифест ClickOnce, в котором снова говорится о публикации. Мне все еще любопытно, могу ли я отключить его от своих сборников. У меня нет никаких сомнений в подписании приложения, когда я его публикую, но я бы предпочел построить его без появления по умолчанию.

4b9b3361

Ответ 1

Вот статья члена команды VSTO. https://blogs.msdn.microsoft.com/vsto/2009/04/29/signing-and-re-signing-manifests-in-clickonce-saurabh-bhatia/

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