asp.net – 使用外部connectionStrings.config文件进行WebPublis
我目前有一个利用Entity Framework Code-First迁移和Web Publish的项目,其中connectionStrings存储在web.config文件中.
现在是时候将connectionStrings移到web.config之外了,因此我们将它们放入connectionString.config文件中,并让它们在webpublish上进行慢速转换. connectionStrings.config <connectionStrings> <!-- Testing Databases --> <add connectionString="server=testserver;database=testdatabasename;user id=someid;password=*******" name="dbname" providerName="System.Data.SqlClient" /> </connectionStrings> web.config相关部分 <connectionStrings configSource="configconnectionStrings.config"> </connectionStrings> 现在,当我加载Web Publish(Build – > Publish Project)的对话框时,在设置选项卡中我收到错误 No Databases found in the project 这向我表明对话框不够智能,无法查看configSource并从那里加载数据.我可以确认在我的开发人员环境中正确加载了connectionStrings,我还可以确认slowcheetah正在将配置转换为它的生产环境. 有没有办法让Visual Studio Publish看到我的配置配置,并允许代码优先迁移? 解决方法
我在使用Visual Studio 2013 Update 4并使用类似的共享方法通过connectionStrings的configSource属性在.net 4.5下的已发布项目的单独项目中首先使用Entity Framework 6代码时遇到了同样的问题.
我列出了这些细节,因为它会引起一些完美的风暴.试图摆脱它我遇到了一些不同的错误,不得不按照EF blog they know it’s a mess and are re-factoring their approach的不同方式破解它.这是我能想到的最好的(这里是龙): 发布向导似乎不理解configSource所以我从web.config中的conectionStrings中取出了一个空元素(你也可以完全删除它,但我觉得现有但空元素最好带注释更合适).为了使它在本地工作,我添加了一个连接工厂,使工作在调试模式(本地)工作,并使发布向导找到数据库迁移.我使用了工厂,因为connectionString总是取代工厂,我需要滥用它来使项目在任何转换之前工作.还要确保传递给dbcontext构造函数的字符串(“connectionStringOrDatabaseName”)是连接字符串和数据库名称(使工厂生成的db与连接字符串db匹配). 现在它找到了数据库并且它在本地工作,但它并没有真正使用你的sharedConfig(因此不会总是在发布时工作).为了解决这个问题,我使用了web.config转换为xsd:使用configSource替换/插入空/缺少的connectionStrings元素.如果您现在尝试发布,则会遇到invalid connectionStrings element is produced的问题. 尽管如此接近我无法直接找到/找出问题的解决方案,所以我不得不采用另一种方法:I created a custom transformation aka xsd:导入时,给定一个configSource属性将父元素替换为另一个中的元素文件,我将把实现作为练习留给读者. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp-classic – 从fso对象创建ado记录集
- 如何在Asp.Net中拦截和预处理QueryStrings
- ASP.net WebForms是CPU密集型平台吗?
- 在ASP.net c#web应用程序中显示警告框
- asp.net – 内容处理:内联在Chrome中不起作用?
- asp.net-mvc – 在ASP.NET MVC应用程序中使用Entity Framew
- asp.net-mvc – 将多个参数传递给控制器???
- asp.net-mvc – Asp.net MVC路由模糊,同一页面有两条路径
- 无限分级和tree结构数据增删改【提供Demo下载】
- asp.net-mvc-3 – 增加ASP.NET MVC 3中的超时值
- 在ASP.net Webforms中,如何检测有人按下哪个文本
- asp.net-mvc – .NET MVC3中多页面表单的最佳实践
- ASP.NET网站“发布”vs Web部署项目
- 在ASP.Net网站上实现自定义错误页面
- .NET中的共享配置文件
- asp.net-mvc-3 – TextBoxFor vs EditorFor,和ht
- asp.net-mvc – Razor中()(括号)和{}(大括号)之间
- asp.net-mvc – 在视图中创建DropDownListFor项
- asp.net – 如何在EF DbContext和AspNet Members
- asp.net – HttpContext如何在.NET中运行