文章出處
文章列表
我們知道一般開發組件之后,組件都有相關配置項,最常見的作法就是把它寫到web.config里,而如果你將這個文件直接放到nuget里打包,在進行安裝包包時,會提示你這個文件已經存在,不能去覆蓋原來的config文件,這時,我們只能將配置信息寫到別一個文本文件里,而使用者在安裝包包后,還要手動將信息拷貝到自己的config文件,確實挺無奈的,沒人愿意干這種重復的活!
解決這種現狀
使用web.config.transform文件,將自己個性的信息寫在里面,它將自動合并到現有config文件中
例如Microsoft.AspNet.WebApi.Core也有這個文件,Nuget如圖
內容如下
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer> </configuration>
當我們建立VS api項目之后,它會自動從nuget服務器上下載包包,并將config文件與本地的文件合并,確實覺得挺實用的,也徹底告別了我們的復制的工作,呵呵!
文章列表
全站熱搜