【问题标题】:AppHarbor Environment does not seem to affect web.config transformationAppHarbor 环境似乎不影响 web.config 转换
【发布时间】:2013-03-18 19:36:37
【问题描述】:

根据描述,您似乎可以更改应用程序设置中的“环境”以应用不同的 web.config 转换。

环境

环境名称会影响我们应用的配置转换。名为“Release”的环境会将“Web.Release.config”应用于“Web.config”文件。

但是,在这样做之后,它似乎仍在尝试使用 Web.Release.config 进行转换。

**C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets(182,5):错误 MSB3030:无法复制文件“Web.Release. config”,因为没有找到。

我是否遗漏或误解了什么?

编辑:供参考,这里是源代码库:https://github.com/jrmitch120/ChallengeBoard

【问题讨论】:

    标签: appharbor


    【解决方案1】:

    确保您的解决方案中的所有配置转换都在 Visual Studio 的首选项下的“构建操作”中标记为“内容” - 重新提交并且应该可以工作。

    【讨论】:

    • 99.999% 的时间对我来说都是这个问题。错误消息通常没有帮助或完全不相关。如果你能通过这个挑剔的步骤,Appharbor 是很棒的。 --对不起,我帮不上忙。
    • 这也是AppHarbor的官方说法support.appharbor.com/discussions/problems/…
    【解决方案2】:

    快速修复:

    AppHarbor 有自己的设置,这些设置在部署期间应用。其中一项设置包含 AppHarbor 连接字符串,另一项是别名,需要与 web.config 中的连接字符串的键匹配。

    如果您更改 AppHarbor 中的“SQLSERVER_CONNECTION_STRING_ALIAS”以匹配您的连接字符串 Key,这将导致在部署期间应用 App Harbors SQL Server Connection,这可能与大多数人真正想要的一样多。在正常的 webconfig 转换之外维护 SQL 连接设置(和其他部署设置)对我来说感觉更好。

    部分问题的详细描述:

    我从一个下午的诊断和尝试中得知,发生了以下步骤,这可能有助于解释为什么事情没有按预期运行:

    1. AppHarbor 运行构建并运行测试,(您可以从 App Harbor 站点下载此输出)

    2. 构建后(并且在您看不到的单独文件夹中),构建的输出通过 App Harbors 自己的转换进行。因为这是在构建之外,所以需要存在文件才能发生这种情况。 Web.Release.Config 必须设置为内容的构建操作,否则此转换步骤将无法获取它

    3. 转换后应用了一组附加设置。连接字符串将被覆盖等,请参阅下面的博客文章了解其工作原理:

    http://chandermani.blogspot.co.uk/2012/03/nerddinner-on-appharbor.html

    总之,有很多相互作用和可能出错的事情。

    1. 第 3 步可能会覆盖您在第 2 步中尝试执行的转换,使其看起来好像转换不起作用。

    2. Web.Release.Config 文件可能未设置为内容。

    3. 最后,因为这是 AppHarbors 在构建之后发生的稍微定制的转换,它似乎并不总是与 Visual Studio 中发生的情况一致。我遇到了一个问题,我在 web.config 中缺少一个阻止转换发生的设置。这里有一个测试工具可以用来检查转换是如何发生的:https://webconfigtransformationtester.apphb.com/

    我终于得到了正确应用的设置,并在我自己的网站上应用了转换,但花了很长时间。我希望这个答案能帮助 somonelse

    【讨论】:

    • 虽然这发生在很久以前,但我相信我的问题是应用了除“Web.Release.config”转换之外的其他转换,而不是通过配置变量替换。
    • 我想我遇到了同样的问题,上面的步骤让我更接近数据库现在已经连接(我希望这个答案可以帮助其他被卡住的人)。我同意我认为我遇到了与您相同的问题,我认为我没有进行转换。这种转换“应该”在部署之前发生,但我看不到它:support.appharbor.com/kb/getting-started/managing-environments
    • 我希望我的回答能帮助那些在未来陷入困境的人,他们花了大部分时间诊断和弄清楚发生了什么,但最终设法让我的转换工作和应用设置。
    猜你喜欢
    • 2012-11-02
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2013-06-28
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多