Nuget~让包包带上自己的配置信息
我们知道一般开发组件之后,组件都有相关配置项,最常见的作法就是把它写到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~让包包带上自己的配置信息的更多相关文章
- 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”这样的字符串,带上的 ...
随机推荐
- Websocket和PHP Socket编程
本来是搜一些html5 websocket资料看的,结果被引去看了php的socket编程.下面是一些简单的例子,在命令行运行php脚本就行 [命令行运行PHP]PHP中有一个php.exe文件,可以 ...
- 【转】零基础写Java知乎爬虫之进阶篇
转自:脚本之家 说到爬虫,使用Java本身自带的URLConnection可以实现一些基本的抓取页面的功能,但是对于一些比较高级的功能,比如重定向的处理,HTML标记的去除,仅仅使用URLConnec ...
- 《C++ Primer 4th》读书笔记 第8章-标准IO库
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936457.html
- Android裁剪固定大小头像的功能
转载自: http://www.eoeandroid.com/thread-497277-1-1.html 效果很好,特意转载过来记录一下,加深一下印象. 效果就是 :中间的方框不动,可以拖动图片,选 ...
- Android 项目利用 Android Studio 和 Gradle 打包多版本APK
在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_ap ...
- git pull冲突解决
场景:用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,而UserA和UserB改动了同一个代码块,当UserA拉取代码时git无法merge此改动 ...
- Oracle 客户端安装 + pl/sql工具安装配置
Oracle 客户端安装 + pl/sql工具安装配置 下载oracle客户端,并在本地安装. 11g下载地址为: http://www.oracle.com/technetwork/databas ...
- 【C#】字符串与字符数组
字符串与字符数组的相互转换. 字符串转换成字符数组: string ss="abcdefg"; char[] cc=ss.ToCharArray(); 字符数组转换成字符串 ...
- Ubuntu中使用pyUSB读取鼠标或键盘的数据程序
参考 :http://www.orangecoat.com/how-to/read-and-decode-data-from-your-mouse-using-this-pyusb-hack 要注意的 ...
- 【Hadoop代码笔记】Hadoop作业提交之Child启动reduce任务
一.概要描述 在上篇博文描述了TaskTracker启动一个独立的java进程来执行Map任务.接上上篇文章,TaskRunner线程执行中,会构造一个java –D** Child address ...