首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果DLL的app.config应该在"主配置"中...我们如何处理DLL中的WCF引用?

在处理DLL中的WCF引用时,如果DLL的app.config应该在"主配置"中,可以考虑以下方法:

  1. 将DLL中的WCF引用的配置信息抽取出来,并将其放置在主配置文件中。
  2. 在主配置文件中,使用configSource属性指向DLL中的app.config文件。
  3. 在主配置文件中,使用configSource属性指向DLL中的app.config文件。

这样做的好处是,可以将DLL中的配置信息与主配置文件进行合并,从而更好地管理和维护配置信息。同时,这种方法也可以避免在DLL中使用app.config文件,从而避免在部署时出现配置信息丢失的问题。

以下是一个示例代码,展示了如何在主配置文件中使用configSource属性指向DLL中的app.config文件:

代码语言:xml<configuration>
复制
 <system.serviceModel>
    <bindings configSource="dll\bindings.config" />
   <client configSource="dll\client.config" />
  </system.serviceModel>
</configuration>

在这个示例中,bindings.config和client.config文件位于DLL中,它们包含了WCF引用的配置信息。在主配置文件中,使用configSource属性指向这些文件的位置,从而将它们合并到主配置文件中。

需要注意的是,在使用configSource属性时,必须确保指向的文件存在,否则会导致配置文件加载失败。此外,在部署时,需要确保DLL中的app.config文件已经被正确地部署到目标服务器上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Wcf:可配置服务调用方式

添加wcf服务引用时,vs.net本来就会帮我们app.config/web.config里生成各种配置,这没啥好研究,但本文谈到配置并不是这个。...先看下面的图: 通常,如果采用.NETWCF技术来架构SOA风格应用,我们会把项目做一些基本分层,如上图: 01. contract层:通常定义服务接口(即服务契约ServiceContract...最好是在不修改原来代码前提下,通过简单配置文件修改,就能让原来远程调用WCF方式,改成直接调用本地DLL程序集,反过来也一样,这样就比较灵活了。...事实上,我们公司很多项目就是这样处理,规模小应用,直接全都部署在一台机器上,等应用规模上去了,再分开部署,代码完全不用动,只要修改相关配置即可。...原理其实非常简单,反射即可,先在Client层web.config或app.config,增加类似以下节点: 1 2 <!

1.2K90

WCF 入门(23,24)

第24集 在控制台应用程序自托管WCF服务 Self hosting a wcf service in console application 第23集比较简短,总共2分钟不到样子,介绍了WCF托管几种方式...添加对上面HelloService引用。再添加一个app.config文件。 到这一步之后以前做法就copy 第2步生成config文件内容,paste到这里面,然后稍微手动修改一下。...再删掉原来项目中config文件。这次不一样。 6. 右击host下面的App.config,有个编辑WCF配置选项。 ? 7. 首先要来配置一个service所需要ABC三个属性。 ?...选中servcies,点击Create a New Service,然后Browse,定位到第3步生成dll。 8. Next。我们就一个Contract,所以继续Next。 ? 9....然后把这个behavior和我们service 关联起来。 ? 保存一下就可以关闭了。 然后check一下host下面的App.config 文件内容。基本上该有的都有了。

44910
  • 【Tip】如何引用dll随附xml注释文档、pdb调试库等文件不出现在项目输出目录

    其中xml是同名dll注释文档,pdb是调试库。我们最终应该只想要exe和dll,除了手工删,我知道有两招,可以让项目生成后,xml和pdb不会出现: 1、利用项目【生成事件】。...x*.xml 有个问题,对web项目没用,就是本地bin目录是没了,但服务器上bin目录会有。...两个节点(上面举例是Release节点),Allow...元素加在Debug里就在生成debug版本时起作用,release同理,可以debug/release都加,也可以有不同配置,比如debug时允许...可以用分号分隔多个类型,比如.pdb;.xml,这样则是pdb和xml都允许包含,不支持通配符;留空则是任何文件都允许,所以如果要阻止pdb和xml,必须弄一个它俩以外扩展名,比如上面的.allowedextension...需要说明,项目自身pdb和xml是否生成,正确是在【项目\属性\生成】中进行设置。生成事件法可以作用到项目自身相关文件,但Allow...元素法不会,它只对所引用程序集相关文件有效。 -文毕-

    1.6K30

    CLR查找和加载程序集方式(一)

    C#开发者在开发WinForm程序、Asp.Net Web(MVC)程序等,不可避免在项目中引用许多第三方DLL程序集, 编译后引用dll都放在根目录下。...定义为准,如果 codebase指定路径找不到,则直接报告错误 程序根目录 根目录下面,与被引用程序集同名子目录 根目录下面被明确定义为私有目录子目录 在目录查找时候,如果dll查找不到,则会尝试查找同名...如何让程序识别不同目录下dll? 我们看到,上面的顺序无论是否有强名称签名看,都提到了一个名词 “私有目录”。...方法一:配置App.config(web.config)文件 privatePath ——【推荐】 针对该问题,微软提供了 元素, 在配置文件自定义存储目录。 1 <?...处理 [DllImport] 程序集加载,此处提供用一种方式来处理:增加环境变量。

    1.8K30

    【细致完整】终章:模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案

    : 并将0Harmony.dll属性【复制到输出目录】设置为【如果较新则复制】 删除Dotnet9HookHigh对Lib.Harmony库NuGet引用,改为本地引用(原来配方,浏览本地路径方式...同库多版本配置 5.3.1. App.config配置多版本 修改Dotnet9PalygroundApp.config文件,添加0Harmony.dll两个版本及读取位置: <?...重点:库强签名 上面分目录、配置文件版本配置目录也还不够,工程还是无法区分两个版本Lib.Harmony库,这里涉及.NET 库强签名,就是上面App.config配置publicKeyToken...强签名库,或者应用程序只能引用强签名dll,不能引用未强签名dll,但是未强签名dll可以引用强签名dll。 强签名无法保护源代码,强签名dll是可以被反编译。...Git一般是配置成不能上传可执行程序或dll文件,但多版本dll特殊,部分库不能直接从NuGet引用,所以本文中高版本Lib.Harmony库只能使用自己强签名版本,我们dll文件扩展名改为“.ref

    36330

    C# 通过 probing 指定 dll 寻找文件夹

    在很大项目开发,会发现项目引用 dll 会很多,我想要按照不同功能,将不同 dll 放在不同文件夹 简单方法是通过修改 App.config 文件指定文件夹,如将文件移动到 abc\12 文件夹里面...,此时项目引用一个dll 如 doubi.dll 这个项目运行时候输出文件有 lindexi.exe 和 doubi.dll 文件 这时需要将 doubi.dll 移动到文件夹 abc\12 里面...lindexi.exe abc\12\doubi.dll 打开 App.config 添加上面的代码就可以 如果有两个不同dll需要放在两个不同文件夹,如 walter.dll 需要放在 walter...在编译之后会在被修改为 程序集名.exe.config 在输出文件夹找到 xx.exe.config 可以通过修改这个文件在编译之后修改 dll 寻找文件夹 如果是对于 C++ dll 需要做特殊引用...,如需要区分 x86 和 x64 请看 C# 如何在项目引用x86 x64非托管代码 不能直接添加一个 x86 文件和一个 x64 文件夹,通过 privatePath 同时指定文件夹方式

    77510

    .NET Core 3 WPF MVVM框架 Prism系列之模块化

    首先,我们引用官方一个图,大致讲解了创建加载模块流程: ? 注册/发现模块 加载模块 初始化模块 我们就根据这个流程来看看demo是如何进行模块化?...一.注册/发现模块 1.注册模块 prism注册模块有三种方式: 代码注册 目录文件扫描注册 配置文件App.config注册 我们先用代码注册方式,首先我们要先定义模块,我们分别在PrismMetroSample.MedicineModule...PrismMetroSample.Shell窗体项目分别引用PrismMetroSample.MedicineModule和PrismMetroSample.PatientModule程序集,之后在...\Modules" }; } 3.使用配置文件App.config注册 3.1注册模块 我们窗体项目PrismMetroSample.Shell添加一个App.config文件: App.config...,这涉及到窗体之间通讯,病人列表和病人详细页属于同一模块,这很好办,如何我要将搜索到药物加到当前病人详细页药物列表里面,这就涉及到不同模块窗体之间通讯,处理不好是会造成模块之间强耦合,下篇我们会讲到如何使用事件聚合器来实现同一模块不同窗体通讯和不同模块不同窗体通讯

    1.7K20

    使用C#创建及调用WCF完整实例 (Windows服务宿主)

    好了,WCF服务库代码部分就结束了,下面要开始配置,打开项目下App.config文件 ?...既然开头说了,本文只说如何实现,所以不说其所以然了,肯定,这样配置无法在后面的宿主里成功调用,为什么呢,因为缺少了binding配置,而默认并未生成配置节点,那好我们自己来加,注意标识地方 ?...右击引用|添加服务引用,服务地址在windows服务项目中App.config文件,依次展开找到system.serviceModel|services|service|host|baseAddresses...|add节点,baseAddress等于号后双引号字符串即为服务地址,注意如果是生产环境,那么你服务所使用端口号在开启。...(下载连接教程此图使用错误,应该是这样图,教程中使用是在WindowsService1服务引用图) ? ?

    4.4K70

    C# 通过 probing 指定 dll 寻找文件夹

    在很大项目开发,会发现项目引用 dll 会很多,我想要按照不同功能,将不同 dll 放在不同文件夹 简单方法是通过修改 App.config 文件指定文件夹,如将文件移动到 abc\12 文件夹里面...,此时项目引用一个dll 如 doubi.dll 这个项目运行时候输出文件有 lindexi.exe 和 doubi.dll 文件 这时需要将 doubi.dll 移动到文件夹 abc\12 里面...lindexi.exe abc\12\doubi.dll 打开 App.config 添加上面的代码就可以 如果有两个不同dll需要放在两个不同文件夹,如 walter.dll 需要放在 walter...在编译之后会在被修改为 程序集名.exe.config 在输出文件夹找到 xx.exe.config 可以通过修改这个文件在编译之后修改 dll 寻找文件夹 如果是对于 C++ dll 需要做特殊引用...,如需要区分 x86 和 x64 请看 C# 如何在项目引用x86 x64非托管代码 不能直接添加一个 x86 文件和一个 x64 文件夹,通过 privatePath 同时指定文件夹方式 ----

    1.9K20

    .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 依赖问题

    你可以在你应用程序 App.config 文件查看到自动生成绑定重定向。...引用同名但不同版本 dll 绑定重定向多数时候都是在帮助我们解决依赖问题,然而我们总有一些时候不是按照常规方式来使用依赖,例如下文这样方式: 引用不用版本dll - dang13579专栏 -...2.0.2.0 版本 LiteDB 时候,会去应用程序所在目录 LiteDB.2.0.2.0 子目录查找名为 LiteDB.dll 引用 dll;而如果引用了 4.0.0.0 版本 LiteDB...时候,会去应用程序所在目录 LiteDB.4.0.0.0 子目录查找名为 LiteDB.dll 引用 dll。...但是如果你编写了上一节我们讲到你需要引用同名程序集多个版本时候,如果依然自动生成绑定重定向,那么上面的功能会失效。 解决方法,便是禁用自动生成绑定重定向。

    1K40

    检测WCF服务是否在线第二版

    上一版在这里https://cloud.tencent.com/developer/article/1013406 上一版主要是解决了监控服务不需要手动添加服务引用问题,但是还是需要在配置文件添加对应...endpoint信息,以及需要真正contract接口dll文件来实现反射生成wcf通道。...这样其实还是挺繁琐,每添加一个监控服务,都需要修改一堆配置,外加复制一堆dll。新版已经不需要复制真正contractdll文件跟endpoint配置了。...上一版我需要contractdll一是为了反射去创建wcf调用通道,二是为了调用其中一个真正方法。其实可以使用一个假contract接口跟一个假方法来探测就可以。...为了移除endpoint配置文件,我们直接手动用代码实例化一个ServiceEndpoint。

    90990

    用 WiX 制作安装包:制作 WPF 安装包界面(入门篇)

    找到 Wix Toolset 安装目录(如果没改,那么应该在 C:\Program Files (x86)\WiX Toolset v3.11\SDK 这样地方),找到 BootstrapperCore.dll...注意,WPF 项目并不像 WiX 项目一样针对引用绝对路径进行了属性引用处理,因此我们需要自己来做这件事。...我们把 WPF UI 项目中生成配置文件用 BootstrapperCore.config 这个名字放入到了负载。...(注意,WPF UI 项目中 App.config 编译完成后生成文件名为“程序集名.config”,在本教程,为“Walterlv.InstallerUI.exe.config”,而我们通过引用项目变量方式避免...另外,如果 WPF UI 项目有依赖 dll,请一并在这里加入到负载,方法是依次写多个 元素,将依赖 dll 设置到 SourceFile 属性。)

    92820

    C# 手写识别方案整理

    另外如果书写过快,词组识别也是个问题,毕竟无法准确分割字之间笔迹。我结合之前开发经验,整理下书写识别比较完善方案。...引用 引用命名空间是:Windows.Ink和MicroSoft.Ink,需要引用DLL文件有四个。...可点击下载:InkRecognizeDependencies.rar IACore.dll、IALoader.dll、IAWinFX.dll,这三个DLL文件都是Intel集成显卡驱动重要组成部分,包含了图形处理模块...Microsoft.Ink.dll 值得说明一下,Windows.Ink与Microsoft.Ink在平台支持上不同,如果有要适配不同版本windows,需要去上方代码修改下 Microsoft.Ink...但Win10及以上版本,官方推荐使用Windows.Ink Windows.Ink,则仅支持Win8以上版本 引用了上面4个DLL文件后,还有2个环境问题: 在App.config文件,对节点startup

    22810

    CSharp工程几个文件

    、html、js、config、xml等 项目所引用程序集信息,包含本地dll与Nuget包 其它信息 Visual Studio对项目所做配置,均可在该文件中体现出来。...若项目启动后报错:未能加载文件或程序集“XXXXXX”或它某一个依赖项,找到程序集清单定义与程序集引用不匹配,则应当检查下项目所引用dll文件与Web.config配置dll文件信息是否一致。...点击此处,可查看关于配置文件bindingRedirect解释。...如,我们添加对Dapper引用后 packages.config: 若直接修改packages.config内容,如,直接删除packages.config对某个包引用,.csproj文件依然保留了对该包引用,及packages文件夹也会保留该包。

    1.3K10

    谈谈WCF客户端认证

    我们采用自我寄宿方式,由于Membership隶属于ASP.NET,所以我们需要添加System.Web.dll引用如果你采用是.NET Frameowrk 4.0(本例所示配置也是基于该版本...),你还需额外添加对System.Web.ApplicationServices.dll引用。...接下来,我们需要在服务寄宿方面所做工作就是将下面一段配置整个拷贝到app.config。 1: <?xml version="1.0"?...配置名称为AspNetDb连接字符串连接我们刚刚创建数据库,并通过aspnet_regsql.exe工具在该数据库创建了所需数据库对象; 表示Membership配置<system.web...上面配置连接字符创名称AspNetDb配置在connectionStringName属性,意味着该SqlMembershipProvider会将我们创建数据库作为用户帐号存储; 服务终结点采用WS2007HttpBinding

    1.1K100

    WCF集成COM+应用程序遇到问题

    解决方案: 通过在Internet上不断寻找解决方案,最后终于在Microsoft技术资源库终于找到了: COM+集成:COM+应用程序接口作为WCF(Windows Communication...如在命令行输入:gacutil -i C:\Charles2008\COMPlusTest.dll GAC概念: 如果一个Assembly要被多个应用程序访问,那么他就必须放在一个CLR已确认目录下...因为GAC包含很多子目录,这些子目录是用一种算法来产生我们最好不要手动将程序集拷贝到GAC,相反,我们应使用工具来完成这样工作。因为这些工具知道GAC内部结构。...如果语言文化是en,则表示:2.0.0.0__en_b77a5c561934e089 OK,还有一个问题:CLR是怎么知道一个程序集需要引用另外程序集呢?...其实一个Assembly不只包含代码,还包含其他一些东西,如MANIFEST.里面就有有关引用信息。CLR找到引用DLL名称后是怎么去寻找呢?

    66410
    领券