Я пытаюсь подписать сборки проекта, используя файл сертификата .pfx. Но я не могу найти вкладку «Подписание» в свойствах проекта Visual Studio.
В моем решении много проектов, и ни один из них не показывает вкладку подписи. Также проверены проекты консольного приложения и библиотеки классов.
Версия сообщества Visual Studio: 17.10.3
.NET Framework: 8.0
По результатам моего тестирования вкладка «Подписание» доступна при использовании .NET Framework 3.0 и 4.8. Однако его нет при использовании .NET 8.0. Это означает, что более старые версии поддерживают упомянутый вами метод подписи сборок, тогда как более новая версия требует обращения к документации ниже для подписи.
Как: подписать собрание сильным именем
Например: Откройте командную строку Visual Studio Developer или Visual Studio Developer PowerShell и введите следующую команду:
al /out:<assemblyName> <moduleName> /keyfile:<keyfileName>
Где:
• assemblyName is the name of the strongly signed assembly (a .dll or .exe file) that Assembly Linker will emit.
• moduleName is the name of a .NET Framework code module (a .netmodule file) that includes one or more types. You can create a .netmodule file by compiling your code with the /target:module switch in C# or Visual Basic.
• keyfileName is the name of the container or file that contains the key pair. Assembly Linker interprets a relative path in relation to the current directory.
Вы используете .NET 8. Вкладки «Подписание» и «Безопасность» перемещены. Теперь он находится под опцией «Опубликовать» в раскрывающемся списке «Создать». Посмотрите это видео. Я покажу вам, как создать бесплатный файл PFX: youtu.be/X3bM5GBAMvI
Означает ли это, что я не смогу подписывать сборки с помощью сертификата .pfx, и это тоже после сборки кода? У меня есть скрипт bat, который подписывает все необходимые сборки с помощью Signtool.exe, но это дополнительный шаг, который необходимо выполнить после сборки кода, чего я стараюсь избегать. Информация об этом будет полезна. Спасибо