.NET Core 2.0迁移技巧之web.config配置文件
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                .NET Core 2.0迁移技巧之web.config配置文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                大家都知道.NET Core現在不再支持原來的web.config配置文件了,取而代之的是json或xml配置文件。官方推薦的項目配置方式是使用appsettings.json配置文件,這對現有一些重度使用web.cofig配置的項目遷移可能是不可接受的。
但是好消息是,我們是可以直接在.NET Core 2.0項目種利用上現有的web.config的。
?
遷移方法
?
1.首先在解決方案中引入System.Configuration.ConfigurationManager,只有引入它才可以讓我們已有的讀取web.config代碼起作用.
2. 導入web.config文件到項目根目錄,并將名稱修改為app.config.?因為.NET Core的項目本質是控制臺應用,所以ConfigurationManager的API會去默認讀取app.config配置文件,而不是web.config配置文件。
?
3.去除config中和需要的配置無關的內容,主要是<system.web>,<system.webServer>和<system.codedom>等典型asp.net標簽。
移除前:
<?xml version="1.0" encoding="utf-8"?><configuration><configSections>
??? <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
??? <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
? </configSections>
? <connectionStrings>
??? <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplication24-20170824065102.mdf;Initial Catalog=aspnet-WebApplication24-20170824065102;Integrated Security=True"providerName="System.Data.SqlClient" />
? </connectionStrings> <appSettings><add key="webpages:Version" value="3.0.0.0" /><add key="webpages:Enabled" value="false" /><add key="ClientValidationEnabled" value="true" /><add key="UnobtrusiveJavaScriptEnabled" value="true" /><add key="MyKey" value="true"/></appSettings><system.web><compilation debug="true" targetFramework="4.7" /><httpRuntime targetFramework="4.7" /><httpModules><add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /></httpModules></system.web><runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /><bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /><bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /></dependentAssembly></assemblyBinding></runtime><system.webServer><validation validateIntegratedModeConfiguration="false" /><modules><remove name="ApplicationInsightsWebTracking" /><add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /></modules></system.webServer><system.codedom><compilers><compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" /><compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" /></compilers></system.codedom></configuration>
修改后:
<?xml version="1.0" encoding="utf-8"?><configuration><configSections><!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --><section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /></configSections><connectionStrings><add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplication24-20170824065102.mdf;Initial Catalog=aspnet-WebApplication24-20170824065102;Integrated Security=True"providerName="System.Data.SqlClient" /></connectionStrings><appSettings><add key="webpages:Version" value="3.0.0.0" /><add key="webpages:Enabled" value="false" /><add key="ClientValidationEnabled" value="true" /><add key="UnobtrusiveJavaScriptEnabled" value="true" /><add key="MyKey" value="true"/></appSettings></configuration>4.測試原ASP.NET代碼,查看讀取配置值
using System.Configuration;namespace WebConfigTest.Configuration {public class ConfigurationService{public static bool GetConfigValue(string key){var result = false;var val= ConfigurationManager.AppSettings[key];if (val != null){result = bool.Parse(val);}return result;}} }?
打個斷點,看下讀取配置值是否正確:?
? 大功告成,讀取的配置值完全正確。
大家可以使用這個方法快速遷移現有配置文件和代碼過去啦。
相關文章:?
.NET應用遷移到.NET Core(一)
.NET應用遷移到.NET Core(二)風險評估
.NET應用遷移到.NET Core(三)從商業角度看移植過程
.NET應用遷移到.NET Core--調查案例
遷移傳統.net 應用到.net core [視頻]
應用工具 .NET Portability Analyzer 分析遷移dotnet core
.net core 2.0學習筆記(一):開發運行環境搭建
.net core 2.0學習筆記(二):Hello World & 進階
度量.net framework 遷移到.net core的工作量
遷移.net framework 工程到.net core
原文地址:http://www.cnblogs.com/mantgh/p/7425113.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的.NET Core 2.0迁移技巧之web.config配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 程序配置amp;amp;Configur
 - 下一篇: MySql 使用 EF Core 2.0