Nic*_*sen 29 asp.net release web-config build web-config-transform
我有一个ASP.NET Web应用程序项目,通过实体框架连接到远程数据库.在调试期间(例如,在我的本地计算机上运行项目),数据库的IP地址与发布期间的IP地址不同(例如,在将项目上载到我的Web服务器并从浏览器运行之后).到目前为止,我总是手动更改Web.config文件中的数据库连接字符串以在两者之间切换(基本上我必须连接字符串,一个名为'Debug',一个'Release',我只是在部署时交换名称).
现在我只是注意到应该可以通过Web.config Transformation Syntax自动发生这种情况,你可以将修改后的连接字符串放在Web.Release.config版本中,然后在Release版本下构建DLL时应该使用它.
但它似乎对我不起作用......
这是我的常规Web.config文件的相关部分(其中包含用于本地使用的Debug连接字符串):
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<!-- Debug connection string. Release connection string is in Web.Release.config file -->
<add name="DatabaseEntities" connectionString="A" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这是Web.Release.config文件,如果DLL处于Release模式下,根据示例应将"DatabaseEntities"连接字符串"A"替换为"B":
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!-- Replace the DatabaseEntities connection string with the Release version (local IP address) -->
<connectionStrings>
<add name="DatabaseEntities"
connectionString="B"
xdt:Transform="Replace" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
(显然"A"和"B"只是我真实连接字符串的占位符)
当我调试应用程序时(例如只按F5),使用默认的Web.config,我可以访问数据库.然后,我通过Configuration Manager将构建配置更改为Release.解决方案中的所有项目都设置为发布配置.然后我构建解决方案(仅通过Build或甚至通过完整的重建(例如Clean,Rebuild)).我将新构建的DLL上传到Web服务器,以及Web.config和Web.Release.config文件,当我尝试访问我无法访问的数据库时,它仍然试图通过调试IP地址访问数据库因此无法找到它......
似乎Web.Release.config文件被完全忽略,或者至少没有替换连接字符串.
我究竟做错了什么?转换语法错了吗?我没有正确地在发布模式下构建应用程序吗?
cit*_*nas 51
然后我构建解决方案(仅通过Build或甚至通过完整的重建(例如Clean,Rebuild)).我将新构建的DLL上传到Web服务器,以及Web.config和Web.Release.config文件
有错误:如果您只是构建,Web配置转换将不适用于您的本地环境.你需要发布.
您的部署过程看起来很奇怪:您只复制DLL,Web.config和web.Release.config.对我来说,似乎是你复制了你的源代码,而不是一个已编译的应用程序.已发布的WebApplication不包含web.release.config.
您应该将项目(右键单击WebApplication - > Publish)发布到本地文件系统并从那里复制文件,或使用您选择的其他部署方法.
2年前我写了一篇关于web.config转换的文章.它为您提供了VS 2010的逐步教程(在VS 2012中更改了发布对话框):http://www.tomot.de/en-us/article/5/asp.net/how-to-use -web.config-变换更换的-的AppSettings和-的ConnectionStrings
| 归档时间: |
|
| 查看次数: |
26751 次 |
| 最近记录: |