Что нельзя сделать с помощью обычной сборки?
Поскольку все обсуждения, начавшиеся с появлением Nuget, предлагали полностью избавиться от строго названных сборок, моя компания попробовала это и столкнулась с существенным изменением поведения, когда дело доходит до настроек приложения:
Если вы используете автоматические настройки приложения или пользовательской области приложения, предоставляемые VisualStudio (унаследованный System.Configuration.ApplicationSettingsBase), тогда EXE-файл со строгим именем создаст ровно 1 каталог внутри% LOCALAPPDATA% с именем, например, «YourApplication.exe_StrongName_kjsdfzsuzdfiuzgpoisdiufif» где-то, где-то-то-где-то-то-то-значимом месте » EXE находится.
Но без строгого имени местоположение (= путь) EXE будет использоваться для создания значения хеша, которое уже отличается в сборке DEBUG и RELEASE, создавая много каталогов внутри% LOCALAPPDATA% с именем, подобным "YourApplication.exe_Url_dfg8778d6fs7g6d7f8g69sdf".
Это делает его непригодным для развертываний ClickOnce, где каталог установки меняется при каждом обновлении.