如何在安装NuGet包时将目标应用程序名称添加到配置转换中

时间:2014-06-01 22:08:29

标签: .net nuget web-config-transform

NuGet允许包开发人员按照this document reference转换目标项目中的配置和代码文件。

基本上,对于.config基于xml的文件合并transfrom,现在可以使用常见的.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}作为数据库文件名的一部分?我希望这个是目标应用程序命名空间或与目标应用程序相关的东西。

可以进行这样的定制以实现我的目标吗?如果是,请解释如何。

1 个答案:

答案 0 :(得分:3)

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>