Nuget~让包包带上自己的配置信息

简介:

我们知道一般开发组件之后,组件都有相关配置项,最常见的作法就是把它写到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文件与本地的文件合并,确实觉得挺实用的,也彻底告别了我们的复制的工作,呵呵!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Nuget~让包包带上自己的配置信息,如需转载请自行联系原博主。

目录
相关文章
|
5月前
|
缓存
npm修改全局包安装路径
npm修改全局包安装路径
|
12天前
|
Windows
vscode 终端无法执行npm、cnpm命令的解决办法,npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试
vscode 终端无法执行npm、cnpm命令的解决办法,npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试
17 0
|
4月前
|
小程序
laravel8(二)配置自定义路由文件
关于laravel5添加自定义路由文件,请移步《laravel5.8(十五)新增自定义路由文件》 这里大概记录一下laravel8添加自定义路由文件的过程: 持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情 1:首先在routes目录下创建你要添加的自定义路由文件 我这里直接复制的web.php。 2:修改app/Providers目录下RouteServiceProvider.php文件 我这里也是直接复制web部分的代码改的名字 3:修改app/Http目录下Kernel.php文件 我这里还是直接复制web部分的代码改的名
32 1
|
8月前
|
存储 缓存 C++
Nuget本地临时缓存路径处理
Nuget本地临时缓存路径处理
221 0
|
Java
Springboot配置全局跨域未生效,接口访问报错解决方法
Springboot配置全局跨域未生效,接口访问报错解决方法
1100 0
|
SQL Windows
web未能加载文件或程序集“XXX”或它的某一个依赖项
如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。
282 0
web未能加载文件或程序集“XXX”或它的某一个依赖项
|
Shell Linux
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
99 0
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
|
缓存 NoSQL PHP
Laravel-高级篇:Composer、Laravel、Artisan、Auth、文件上传、邮件、缓存、错误&日志、队列
Laravel-高级篇:Composer、Laravel、Artisan、Auth、文件上传、邮件、缓存、错误&日志、队列
207 0
|
Java jenkins 持续交付
jenkins 完成 项目配置文件修改并远程发布包
jenkins 完成 项目配置文件修改并远程发布包
438 0
jenkins 完成 项目配置文件修改并远程发布包
|
Web App开发 开发者
解决Chrome插件安装时出现的“程序包无效”问题
错误信息:程序包无效。 详细信息:“Cannot load extension with file or directory name . Filenames starting with "" are reserved for use by the system.”。
8853 0

热门文章

最新文章