Как добавить имя целевого приложения в преобразование конфигурации при установке пакета NuGet

NuGet позволяет разработчику пакета преобразовывать файлы конфигурации и кода в целевом проекте в соответствии с ссылка на этот документ.

По сути, для файлов .config на основе xml преобразование слияния, и теперь доступны общие преобразования .xdt.

В настоящее время я использую следующее как web.config.transform:

<configuration>
    <connectionStrings>
        <add name="MembershipConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-membership-hardcodedstring.mdf;Initial Catalog=aspnet-membership-hardcodedstring;Integrated Security=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

Видите, где у меня есть {hardcodedstring} как часть имени файла моей базы данных? Я бы хотел, чтобы это было пространством имен целевого приложения или чем-то, относящимся к целевому приложению.

Можно ли выполнить такую ​​настройку для достижения моей цели? Если да, пожалуйста, объясните, как.


person Maxim V. Pavlov    schedule 01.06.2014    source источник


Ответы (1)


NuGet XDT поддерживает использование ProjectProperties в файле преобразования, например:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings xdt:Transform="Insert">
     <add key="RootNameSpace" value="$rootnamespace$" />
     <add key="AssemblyName" value="$AssemblyName$" />
     <add key="DefaultNameSpace" value="$DefaultNameSpace$" />
     <add key="FullPath" value="$FullPath$" />
     <add key="FileName" value="$filename$" />
     <add key="ActiveConfigurationSettings " value="$ActiveConfigurationSettings$" />
     <add key="AbsoluteProjectDirectory" value="$AbsoluteProjectDirectory$" />
    </appSettings>
</configuration>
person Dan Liu    schedule 03.06.2014