我们知道一般开发组件之后,组件都有相关配置项,最常见的作法就是把它写到web.config里,而如果你将这个文件直接放到nuget里打包,在进行安装包包时,会提示你这个文件已经存在,不能去覆盖原来的config文件,这时,我们只能将配置信息写到别一个文本文件里,而使用者在安装包包后,还要手动将信息拷贝到自己的config文件,确实挺无奈的,没人愿意干这种重复的活!

解决这种现状

使用web.config.transform文件,将自己个性的信息写在里面,它将自动合并到现有config文件中

例如Microsoft.AspNet.WebApi.Core也有这个文件,Nuget如图

aaarticlea/png;base64,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" 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~让包包带上自己的配置信息的更多相关文章

  1. Mantis1.2.19 在Windows 平台上的安装配置详解

    安装环境: WindowsXP 32 Apache2.2.22+PHP5.4.39+MySQL5.5.28 一.简介 MantisBT是由PHP开发的.基于WEB的缺陷跟踪系统,并采用开源数据库MyS ...

  2. 在 CentOS 上安装和配置 OpenNebula

    转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...

  3. Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置

    Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1  整体规划部分 1.1.1  所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...

  4. NuGet:自定义配置信息(2)

    有些类库项目打包后,如何让别人引用的时候自动添加上对应的配置项目呢,比如EntityFramework的NuGet包,打开后可以看到类似下面的结构: 空白处右击——Add Content Folder ...

  5. mac上php+nginx配置

    brew的安装: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”php安装和配置bre ...

  6. 图文介绍openLDAP在windows上的安装配置

    目录 概述 测试环境 安装过程 配置启动 客户端介绍 多级DC的ldif文件的配置 [一].概述 什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台 ...

  7. IDEA上tomcat的配置

    IDEA上tomcat的配置   IDEA上集成自己的tomcat,主要就是下面这张表的配置,不累述.

  8. Asp.net Core dotnet 发布类库文件 带上注释,发布预发行版,带上所有引用

    带上注释 效果图 带上所有引用 效果图 预发行版 效果图 由于微软取消了  project.json  这个json 转而用了csproj 用于保存配置 所以懵逼很大一会 资料来源 project.j ...

  9. 解决asp.net web api时间datetime自动带上带上的T和毫秒的问题

    今天用asp.net web api写微信小程序的接口时遇到一个问题. 返回的model中的datetime类型的字段自动转换成了“2014-11-08T01:50:06:234”这样的字符串,带上的 ...

随机推荐

  1. UVa 1635 (唯一分解定理) Irrelevant Elements

    经过紫书的分析,已经将问题转化为求组合数C(n-1, 0)~C(n-1, n-1)中能够被m整除的个数,并输出编号(这n个数的编号从1开始) 首先将m分解质因数,然后记录下每个质因子对应的指数. 由组 ...

  2. android gallery 自定义边框+幻灯片

    最近在项目中用到图片轮播,试了Gallery,ViewFlipper,ViewPager,感觉Gallery最符合需求,但是Gallery的系统边框很难看,项目中要求用自己的背景图片. 下面来看一下使 ...

  3. [反汇编练习] 160个CrackMe之009

    [反汇编练习] 160个CrackMe之009. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  4. Ruby 文件处理

    #r read, #w write, #a append, #r+ 读写方式 从文件的头位置开始读取或写入, #w+ 读写方式,如果文件已存在清空该文件,不存在就创建一个新的文件, #a+ 如果文件存 ...

  5. Andorid-Fragment生命周期

    官网帮助文档链接: http://developer.android.com/guide/components/fragments.html Fragment的生命周期: Fragment与Activ ...

  6. Oracle 存储过程的创建,及触发器调用存储过程

    一.创建存储过程 1.存储过程写法 create or replace procedure HVM_BYQ_TJ --变压器统计信息--->入库 (id in number) as begin ...

  7. [转] ArcEngine 产生专题图

    小生原文 ArcEngine 产生专题图 ArcEngine提供多个着色对象用于产生专题图,可以使用标准着色方案,也可以自定义着色方案,ArcEngine提供8中标准着色方案. 一.SimpleRen ...

  8. Strom-7 Storm Trident 详细介绍

    一.概要 1.1 Storm(简介)      Storm是一个实时的可靠地分布式流计算框架.      具体就不多说了,举个例子,它的一个典型的大数据实时计算应用场景:从Kafka消息队列读取消息( ...

  9. Tableau学习笔记之一

    书本:Tableau数据可视化实战,Ashutosh Nandeshwar著 学习时主要采用Tableau Desktop 9.0,由于该软件是商业软件,价格不菲,故只能试用,期限为14天,可以通过修 ...

  10. 通过gdb跟踪进程调度分析进程切换的过程

    作者:吴乐 山东师范大学 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本实验目的:通过gdb在lin ...