我目前正在尝试共享解决方案中的大多数配置文件,因为在使用它们的项目之间它们大部分是相同的。除了连接字符串,我几乎成功完成了所有工作。
原始连接字符串类似于:
<connectionStrings>
<add name="-" connectionString="mystring" providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes" dt:Locator="Match(name)" />
</connectionStrings>
当我尝试使其成为共享字符串时,我将创建一个Shared.ConnectionStrings.Debug.config文件,其中包含:
<connectionStrings>
<add name="-" connectionString="mystring"
providerName="System.Data.SqlClient"/>
</connectionStrings>`
然后在我的Web.Debug.config
中放
<connectionStrings configSource="configs\Shared.ConnectionStrings.Debug.config" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">`
但是,当我得到这个时,在构建时会出现错误:
匹配定位符不存在属性“名称”。
很显然,Locator
转换无法在外部加载的文件上正常工作,但我不知道如何解决此问题。