我有一个安排,我用一个闪亮的新WCF服务替换遗留代码。
我有一个dll(a.dll)调用我正在替换的dll(b.dll)
b.dll使用WCF调用来访问我的IIS托管的WCF应用程序提供的功能(c)我正在使用b-c的手写代理,以便一切都得到充分的整理。
我遇到的问题是当我运行使用a.dll的测试应用程序,因此b.dll和c它抱怨它无法找到我的端点配置。
在这种情况下,它在哪里寻找配置文件?我试过创建一个b.dll.config。
我厌恶硬编码,因为这是WCF的一个主要优点,它可以通过配置进行配置,因此无需重新编译。
答案 0 :(得分:0)
只有一个默认配置文件,句点。如果您正在运行app.exe,那就是app.exe.config。如果它是基于Web的应用程序,那么它就是web.config文件的层次结构。
这就是它正在寻找配置的地方。
答案 1 :(得分:0)
回答: - 很可能我不会在8小时内回答我自己的问题 -
你好,
致所有关注者。我最后通过跟随别人建议的内容确定了配置文件。
将procmon。我添加了一个过滤器include-> path-> .config
从此我发现,因为我在使用它正在查找的VB6 ide运行代码中的'a''
C:\ Program Files \ Microsoft Visual Studio \ VB98 \ VB6.exe.config
疯了,我知道因为这个dll被称为我自己的test.exe而且test.exe.config没有用。
此外,它仅在VB6.exe实例化时查找文件,因此对其进行更改(显然我猜)需要回收...
我尝试了显然输出配置位置的代码,并使用此信息“抛出异常”。这些路径都错了。
现在我只需要弄清楚当a.dll没有在代码中运行时它的外观......深沉的欢乐!
更新:为了在代码中没有运行a.dll时完成,配置文件是test.exe.config。
这已得到确认。
谢谢你们!
答案 2 :(得分:0)
要添加到其他解决方案:当它在代码中运行时查看奇怪的地方时,我发现我可以简单地创建myapp.exe,将配置重命名为myapp.exe.config,然后运行exe(即不在ide中,它会找到它。