Nuget~让包包带上自己的配置信息
我们知道一般开发组件之后,组件都有相关配置项,最常见的作法就是把它写到web.config里,而如果你将这个文件直接放到nuget里打包,在进行安装包包时,会提示你这个文件已经存在,不能去覆盖原来的config文件,这时,我们只能将配置信息写到别一个文本文件里,而使用者在安装包包后,还要手动将信息拷贝到自己的config文件,确实挺无奈的,没人愿意干这种重复的活!
解决这种现状
使用web.config.transform文件,将自己个性的信息写在里面,它将自动合并到现有config文件中
例如Microsoft.AspNet.WebApi.Core也有这个文件,Nuget如图
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAc4AAACKCAIAAACsOj0pAAAN3ElEQVR4nO3df2zU9R3H8f61v8yyZMHMqFO3ZcucJHPRQHQuOFhM41xYnNuQkriQadlwQ7SQMEmhFAjyowopQsukQIVCjSNQ3BgMymQYtVXXKdIM02ClItbaDmp7973rd39cOb79fj+fz/dzd9/Pfe9793zkQq7f+3w/n899y7143+e+96XMBgAYVhb2BACg+BG1AGAcUQsAxpXZtj1t2rTq6mrbtqurq7nDHe5whzuB3ylL3bMBAMawgAAAxgVQ1b5/atP7pzZ1nXi248i6kwdXH2ldfnDnn/Y1VO3cuGDbuvnBTBMAoiyAqO068Wzs0unRwTeHPz1yqa9l8Fz9wNmVF96t6u38w8P3TQlmmgAQZeIFhGVy3sZvHlmXytn8l7dlZWVlZdmvgeS4OwBoEle1wkiVbT95cPXwp0fePlmX//KWqAUQCQFE7dHW5Zf6WjqOV2dR3pY5eDd62wibueIyx90BIHDSBQT97YdeXDp4rn7/rrmZlrfpmPMmo85G74+57w4AJqiqWm89KIza/U1Lmp57eOkT93nLW1fOtrfO+uVP7rw6tijpAolaYWGrszsAmBDAAkKaq7x15uzzq+etWlzx2KwZ5T+cfHVsY1Gr06esMQAELoAFhDRXeeusZ1ctrviw4/EZU7574h+HJwzvqUCdG10/Hjp0yLext89MdweAwAVZ1aalytu325964/Cjpw480t4667FZM7w5CwAlQhq1+ufVeqXK200rH1z+VPn83/zooftv/9m028lZACWLN84AYBxX9gIA44haADCOBQQAMI6qFgCMI2oBwLhCX0DIw/cLvN+YMDpcFvieBRB1EahqjUZMUJ2bm2ShJexYX1+ipcVatCjsiQBRQtQStVpSCRuvqLCmTrWmTrVqa8OeERAlYb6M09cosCcGSnaXKZBd38D1qOJqCd6hFfsqhnZdfiH3+fj2472jc8R0uBP2yi3Z1pZ750DpCLOqLRNFrc4dWVdZ9CMMVnXP6gmkf/TtR/MJ6vTjfUauo5opWcKmb2Pnz2fXM1CaQl5A0KzsXHeE/ci25Bi1tig3fScgC03f56XIaNlewgbZRa1vwqZv8RkzrHnzrJqaRGNjsrNzrK8vo4GAUhPyOqA3EXRCU9aPeq8cq1o1370yKmYVMzQRtfoJ65O/FRXWokWJxsZkW1uys1NnaKBEhF/V2qKwcFV/wvfI3q6EBbL3Udcd37Fk1ahwAsJOvF1lOh+d5+U9pLKpuiRPnIjPnJljziqK38SGDYmWFopflLKQo7bw+UZ8cRgbGkrU1ZlIW8Ft3rzx4re9neIXJaJosyNAsiq1+Ix1d8fnzMlT4DqL35kzrXnzEo2N48Xv0FDYRwIIGFUt3BJ79sSnT89/4AqK39THbu3tY93dYR8VICdELQTG+vqsqqrw09ZV/FZUpIrf1MduFL+IkOJ/U4ysmfu4LLDwTX/sxjlnKGymqtrkcM/QP+9NDvcE3jPySfhxmW3bY93dyY6OZFtboqEhsX69VVlpVVaGnrxXi1/OOUOBMRK1qZwdPbvp7xsm2bad7E+emd+d7E9OGFh0GpPzIW/LYCcJfa6Py3wa9/UlOzqSx48nGhoSDQ2pFA63Oh7/2I1zzhAecX7l+D/mDvz1xuF/L/hL7TXJ4Z5UztrN9rrb1guG18tQorYQpD8uy7qHsaGhZEdHsqNjPIWrqqzKyvjs2eFEsOOcMz52g2niqlYWqZpRa9t2Kmdt2z4zv9veZW+5Y4urqh0fnqiNlNTHZYY6H0/hPXvCWpTgnDOYYyRq7yifm/rz4MGTtm2vu229MGdtyVf+FRsJ3NI0YWk4vSiRnzPSnJd6oPhFtqQLCBltt2071hvrntUd642lcjbFeV88vMZarXMLaQsX99JwalHC5NKw65yzsA8AokFV1ZZNZCujtuuuroH9A6m0TW/sHRhtfvnw7MYzvQOj4uGJWhhzdWl4z55EQ4NVU2NoaZhzzuArsAWEWG+s666uizsubv3GVvvKSQi2bU9/8vU/n7ZlaUvUIiypFDZ3vtrVc8641AMCXECwbTvWG1t508pYb8x5slfvwOj0J19//tVLk8p3TxjYw7td2Diz5wdkTny+Ws5Lw5xzVsqMfCzmPNnLtu3egdEvTXlBtoYARIj4fLVcloa51ENpkEZtLufVJod70jkLlA7v0nAWixKcc1aUeD8O5IPwq8yaixLu/16I4jeCuLIXELLszlfjUg/RQtQChcu9NKw8X41zzgoZCwhAVGl9lZn/XqgwUNUCRWh8aVh0vpr7nDM+dsuLkKP2peY65y2saQQrvmxhfNnCsGeBCAjlr8r40vDE89WsmhrOOTMqzAWEl5rr+j86MPrZK6OfvfJF/95L5zbu2yG40KIhhr4loX7xpB61Wnel7shu6ZY6GwtQ+mlm1DLYJ5XP46Mzluy3Vmi/x/SiRLKtLdnWluzoGOvupvjNXcBVbUYn5O7bsd55a9m+dve2Nbsb1zQ3rN61dVXT5tqmzbVN9Sua6lfU1WZ/4T7Fd39dX1FTtNek+ZJzJotsY3zZwuS778SXLbQ2r1W3LEyaUWtH5xnJ6PwL4foNFnjawoTgo1Z/e0vT2tjgsfRt9H9tVv8+65OmxPn6RM8z1pnq0a6nLr9ROdQ+Z8kCnyuEKQivqHDo0KEQozYdo64AFb4Irc1r3VtELQtNdKM2o7cO3l+lok/vfdkWFJ+AFxAyitrd29bEBo+lFhBGBlvj/TutvvrEuTWJs0vj//njSMfcS68+9Pnh8re3XueMWuGVE1wPCRs7NxZg1MreXXqj1tXS1aGzB2FLxdtYZ8tUh94c0Rw97lknURwQ2T8zmgPJjol3UP0DItvRNQGiFprCrGp3bV2Vitr4wP74p83pnI2998RI528vnfz154fLP95752t11/x+7q8mTPpKGgojUpi2mvt622dEM2oTxw8LgmniQoFzu3eLOv5ck/HmgjDos2upGF2z+ha2zGgg4RA6B0S2UTFP4S5ELXwZiVpv4SmM2u31K2KDx0YGW63+F62PtyTOrbE+qE7n7OCR+/sP3NPbfNvxZ66peLB8wqTlcSkrbL27O1sWSNQKGwujVnNcV8mmDlBFxecdSJ0dst0Vx0T2j4fvQMLdhY01o9Y19ITfkeSfBN9nStQizAWEbc8tG/3sFat/n3WhMdFbZ32wPPbeEyNvVV7+1+zBow/0H7jnwt4ffPjCt9pqvnL/9LsnTDqTiNTZnv+otT0vv1SAel/JWUetMETUtaprd9nqgXfyOqOrj4lO+ujHmbpPddT6zjPTiclG1N8dRSDMBYQtG5Z+cXG/9cn2xEcbrQ+Wx09XjbxVefnUnMGjD/S33Xth3519u249u/nGvU9PuvuOyVdnfEV6vVVY2E54khobZftmSudF5UoxRRnlu0W20fuQc1zFCqxzLOEqZEZT8q5sCjPFd/KKp6l56NSTF650a85T1q366fj2iSITZtTWP7Pkiwv7EufrrZ7a+OmqkXd+d/nUnMFjM8dztvl7PQ03v//stdsXXz/5OzcHNcM84MUjw5Fx4YCUjuAXEPTPq924evFgz86LnQs+/Fv5f1+e0r13cteOb7+25ZajG25+ecXXW6uv2/v0pO2Lr9+88KZbbrg22Hki/4gVlLIwv5hbV1u1csn8xY8/8uicn//ipz++967bv3/rN2+54dqvffXL3lsoMwSAQHC5GQAwjosoAoBxVLUAYBxRCwDGsYAAAMZFtaoN6hsH2Q3t+lPYxndiQX1FTWcI77EK6+gBpSmSUeuKjKz3zWV0ddRqDuSMWsWOuczZXM8A9EXylRZU9OTSA1ELQF8kq1pb/t/VOB/yLjIoLobgaqDOIN9+ZG1k/ShmKGvgm5LCrrxt1J0ACERUozZFmCPCUlG4i7dxRhWr5ui+/ci60pxzgD0DMCTyrzRhVjofleWUs0G6WS5R6y0/hSMqJi9rT9QCURfJqlYWH7K31Yq4Ef6YS1Xr3ULUAohq1ArXK9UVq2u7t5ktiVpZQsmGE/4oa6+YkrqxOkNdT9/F+6h3dwABKqrXWIlERok8TaCYRLKq9Sqd0ow6FIiiIolaAChkFEcAYBxVLQAYR9QCgHFRXUAI8UQl4Qlh3ja+E1Oc7JUHfLwG5FMkq1rfU0o1981ldHXUag7kjFrFjuYCkagF8iPyUZvPfZ09ELUA9EX1lSb8epXze1DOja736a58ETZQZ5BvP7I2sn4UM5Q1UKe876FIt1RMD0BQIlnVpgmLQWGpKNzF29j7p2JczdF9+5F1pTlnnRnKnhdRC+RHtKPWlqSJ81F1Hecq93KJWm/5KRxRMXlZ+yyiVtgnUQuEJZKvNFlYyN5WK8JF+GMuVa13C1UtgEhWtZorj4pmwoLUlkSSLPtkwwl/lLVXTEndWKdnxfMqm8gGYFIko1amRCKjRJ4mUEyK5EVbOqUZdSgQRUVV1QJAYSJqAcA43ocCgHFUtQBgHFELAMaxgAAAxlHVAoBxRC0AGMcCAgAYR1ULAMYRtQBgHAsIAGAcVS0AGEfUAoBxLCAAgHFUtQBgHFELAMaxgAAAxlHVAoBxRC0AGMcCAgAYR1ULAMYRtQBgHAsIAGAcVS0AGEfUAoBxLCAAgHFUtQBgHFELAMaxgAAAxlHVAoBxRC0AGMcCAgAYR1ULAMYRtQBgHAsIAGAcVS0AGEfUAoBxLCAAgHFUtQBgHFELAMaxgAAAxlHVAoBxRC0AGPd/muiQbnf4WNIAAAAASUVORK5CYII=" alt="" />
内容如下
<?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="" />
<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="" />
<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文件与本地的文件合并,确实觉得挺实用的,也彻底告别了我们的复制的工作,呵呵!
Nuget~让包包带上自己的配置信息的更多相关文章
- Mantis1.2.19 在Windows 平台上的安装配置详解
安装环境: WindowsXP 32 Apache2.2.22+PHP5.4.39+MySQL5.5.28 一.简介 MantisBT是由PHP开发的.基于WEB的缺陷跟踪系统,并采用开源数据库MyS ...
- 在 CentOS 上安装和配置 OpenNebula
转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...
- Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置
Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1 整体规划部分 1.1.1 所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...
- NuGet:自定义配置信息(2)
有些类库项目打包后,如何让别人引用的时候自动添加上对应的配置项目呢,比如EntityFramework的NuGet包,打开后可以看到类似下面的结构: 空白处右击——Add Content Folder ...
- mac上php+nginx配置
brew的安装: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”php安装和配置bre ...
- 图文介绍openLDAP在windows上的安装配置
目录 概述 测试环境 安装过程 配置启动 客户端介绍 多级DC的ldif文件的配置 [一].概述 什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台 ...
- IDEA上tomcat的配置
IDEA上tomcat的配置 IDEA上集成自己的tomcat,主要就是下面这张表的配置,不累述.
- Asp.net Core dotnet 发布类库文件 带上注释,发布预发行版,带上所有引用
带上注释 效果图 带上所有引用 效果图 预发行版 效果图 由于微软取消了 project.json 这个json 转而用了csproj 用于保存配置 所以懵逼很大一会 资料来源 project.j ...
- 解决asp.net web api时间datetime自动带上带上的T和毫秒的问题
今天用asp.net web api写微信小程序的接口时遇到一个问题. 返回的model中的datetime类型的字段自动转换成了“2014-11-08T01:50:06:234”这样的字符串,带上的 ...
随机推荐
- bzoj3931: [CQOI2015]网络吞吐量
将最短路图找出来,跑maxflow即可.有注意到数据范围.然后输出的时候%dWA了三次QAQ... #include<cstdio> #include<cstring> #in ...
- [转:CSS3-前端] CSS3发光和多种图片处理
原文链接:http://www.qianduan.net/css3-image-styles.html 一些上流的CSS3图片样式 神飞 发表于 24. Sep, 2011, 分类: CSS , 46 ...
- kendo ui grid控件在选择行时如何取得所选行的某一列数据
$("#grid").kendoGrid({ dataSource: dataSrc, columns: [ { template: '#=material_id#', width ...
- 【WEB】jsp向servlet传参中文乱码问题解决
传参方式:POST.GET.link方式 servlet向jsp传中文参数msg if(username.equals("") || password.euqals("& ...
- 【转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
原文网址:http://blog.csdn.net/pucker/article/details/41843511 上一篇文章<iOS 8界面自动布局系列-1>简要介绍了iOS界面布局方式 ...
- HTTP请求中浏览器缓存
本文导读:浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制.客户端缓存是否需要是可以在服务端代码上控制的.那就是响应头.响应头告诉缓存器不要保留缓存,缓存器就不会缓存相应内容:如果请求信息是需要 ...
- Log4NET简介
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 前提 最近做项目需要记录系统日志和用 ...
- T-SQL 常用语句学习
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- 通过gdb调试分析Linux内核的启动过程
作者:吴乐 山东师范大学 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验流程 1.打开环境 执 ...
- asp.net MVC 安全性[笔记]
1. 跨站脚本(XSS) 1.1 介绍 1.1.1 被动注入,利用输入html,javascript 等信息伪造链接,图片等使用提交信息,调转页面等 1.1.2 主动注入,黑客主动参与攻击,不会傻等倒 ...