如何使用相对路径将 entlib.config 映射到 webservices webconfig 上?
似乎如果我没有给出正确的路径(即 c:\something\entlib.config),则在运行 Web 服务时会出现以下错误:
System.IO.FileNotFoundException: 找不到配置文件 Entlib.config。 (...)
这是引用 entlib 文件的 Webconfig 部分:
<enterpriseLibrary.ConfigurationSource selectedSource="EntLibconfig" parentSource="">
<sources>
<add name="EntLibconfig"
type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
filePath="Entlib.config" />
</sources>
</enterpriseLibrary.ConfigurationSource>
我已经尝试了几种组合 filePath="Entlib.config" /> filePath=".\Entlib.config" /> filePath="~\Entlib.config" /> filePath=".\Entlib.config" /> filePath="~\Entlib.config" />
it seems that if I don't give the correct path (i.e. c:\something\entlib.config) I get the following error when running the webservice:
System.IO.FileNotFoundException: The configuration file Entlib.config could not be found.
(...)
This is the Webconfig part that refers to the entlib file:
<enterpriseLibrary.ConfigurationSource selectedSource="EntLibconfig" parentSource="">
<sources>
<add name="EntLibconfig"
type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
filePath="Entlib.config" />
</sources>
</enterpriseLibrary.ConfigurationSource>
I've tried several combinations already
filePath="Entlib.config" />
filePath=".\Entlib.config" />
filePath="~\Entlib.config" />
filePath=".\Entlib.config" />
filePath="~\Entlib.config" />
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我相信这是版本 5 中引入的错误。看起来它已在 Microsoft Enterprise Library 5.0 可选更新 1。
或者,您可以扩展
FileConfigurationSource
并重写CreateSource
方法(如上面的错误报告注释中所示)。I believe this was a bug introduced in version 5. It looks like it is fixed in Microsoft Enterprise Library 5.0 Optional Update 1.
Or you could extend
FileConfigurationSource
and override theCreateSource
method (as in the bug report comments above).如果您使用的是项目 setyp 文件夹,那么您可以添加自定义项目安装程序文件,然后在安装完成后,您可以找到 entlib.config 文件,因为您从安装程序中知道文件的安装位置,然后打开 entlib.config并将当前路径替换为安装的路径。
我对 Nlog.config 做了类似的事情。
更新
“路径可以是相对路径或绝对路径。”请参阅此链接了解更多详细信息。
If you are using a Project setyp folder then you can add a custom Project Installer file, then after the install has completed you can find the entlib.config file because you know from the installer where the files were installed and then open the entlib.config and replace the current path with the installed path.
I do something similar with Nlog.config.
Update
"The path can be a relative or absolute path." Please see this link for further details.