我有一个尝试部署到 Azure 云服务的新应用程序。使用 VisualStudio 2012、Entity Framework - Code First 和 SQL Server Management Studio 在本地开发。
我有一个 Azure 云服务项目、一个 Web 角色项目、一个服务层类 (C#) 库和一个数据对象类库。
这些都在我的本地机器上完美地协同工作。Web 调用服务,服务调用上下文,上下文返回(或修改)对象。耶!
然后我发布了网络应用程序。使用此语句添加了 web.release.config 转换...
<connectionStrings>
<add name="DefaultConnection"
connectionString="Server=tcp:xmeg1j7x57.database.windows.net,1433;Database=RS.Core.Objects.RSData;User ID=****@xmeg1h7x57;Password=**********;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</connectionStrings>
没有喜悦。它似乎仍在尝试调用我的(localdb)。
所以我在本地运行它(已将 web.config 更改为具有 azure 生产字符串),并在断点处查看...
WebConfigurationManager.AppSettings["DefaultConnection"]
期待一个字符串。发现了一个数组。第二个值来自 web.config,但第一个值是自动生成的 (localdb) 引用。我如何摆脱这个参考?显然我遗漏了一些东西,但数小时的研究证明我的 Google-Fu 很弱。