文章出處

我們知道一般開發組件之后,組件都有相關配置項,最常見的作法就是把它寫到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文件與本地的文件合并,確實覺得挺實用的,也徹底告別了我們的復制的工作,呵呵!

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()