8

寻求与 SlowCheetah 合作的任何人的帮助,以在 Web 项目下转换配置文件。我们发现从 web.config 引用的部分配置文件没有被转换。

例如,我们在 web.config 中包含了对部分配置 AppSettings.config 和 ConnectionsString.config 的引用,如下所示:

  </system.web>
  <connectionStrings configSource ="ConnectionsString.config"></connectionStrings>
  <appSettings configSource ="AppSettings.config"></appSettings>
</configuration>

然后在 AppSettings.config 中,我们只有 AppSettings 部分,如下所示:

<appSettings>
  <add key="LostPasswordBCC" value="knock@timmons.com" />
</appSettings>

最后在转换文件 AppSettings.Debug.config 我们有一些补充:

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations 
     see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings >
    <add key="Release" value="Something" xdt:Transform="Insert" />
  </appSettings>
</configuration>

显然,上面只是一个测试来查看转换发生,但我们发现在尝试预览转换时,我们得到的只是一个错误“处理转换时出错”。发布尝试也失败。

如果我们使配置文件完全形成 xml 并且不从 web.config 引用,则转换似乎工作正常 - 但希望在多个项目中共享这些文件。

有谁知道是否有一种解决方法,我们既可以从 web.config 引用部分配置,也可以转换这些部分文件?我们正在处理试图合并的多个 Web 项目中包含大量配置文件的遗留代码,因此需要从 Web 配置链接到单独的共享文件。

4

1 回答 1

4

问题已经解决,在 Sayed 的帮助下,我们确定在努力理解 Web 项目的配置转换过程时,我们损坏了转换配置文件的格式。通过新创建的配置文件,我们能够使用 SlowCheetah 进行转换。

这使我们能够继续解决我们需要解决的真正问题,即希望使用 Visual Studio 2012 的发布配置文件转换 web.config 以外的项目配置。这最初不起作用,但 Sayed 再次帮助我们并提供了一个新的 SlowCheetah 副本,它允许它工作。

以下是带有修复程序的新版 SlowCheetah 的链接:https ://github.com/sayedihashimi/slow-cheetah/issues/46

非常感谢您付出的所有时间和耐心。

于 2012-11-15T15:43:20.647 回答