Замените GUID в web.config во время публикации
Я ищу способ иметь GUID в моем файле web.config, который преобразуется в новый GUID во время публикации.
Например:
<add key="someGuid" value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" />
и когда вы публикуете приложение с помощью MSBuild или экрана публикации Visual Studio, полученный файл конфигурации после преобразования содержит совершенно новый GUID, например:
<add key="someGuid" value="ab15c61ba16d1651a6c89a621d64c4f8" />
По сути, мне нужен новый GUID каждый раз, когда я публикую приложение, но мне также нужна возможность заменить этот GUID по требованию без полной перекомпиляции.
Прежде чем я собрал что-то свое, используя заполнитель и заменив текст вручную, я хотел посмотреть, может ли помочь преобразование конфигурации или встроенная функция MSBuild.
1 ответ
В MSBuild вы можете создать новый GUID, как это
<PropertyGroup>
<SomeGuid>$([System.Guid]::NewGuid())</SomeGuid>
</PropertyGroup>
И затем вы можете использовать задачу XmlPoke, чтобы произвести замену, используя только что созданное свойство $(SomeGuid).
Выдержки из книги MSBuild Trickery трюки № 9 и № 101