“找不到文件休眠.cfg.xml”在发布我的应用程序后运行时
本文关键字:我的 应用程序 运行时 布我的 休眠 文件 找不到 cfg xml | 更新日期: 2023-09-27 18:36:27
我有 2 个问题。
我的应用程序是WPF c#应用程序,我们将MS Access作为数据库(.dbm文件)和NHibernate进行连接。
第一个问题是在发布我的应用程序,获取exe文件并安装我的应用程序后,我尝试运行该应用程序,我遇到了异常,它找不到文件休眠.cfg.xml。但是,如果我通过Visual Studio运行,该应用程序运行良好。该配置文件位于调用配置的类的同一文件夹中。
此外,我不确定我的发布方法是否正确。若要发布我的 WPF 应用,请在解决方案资源管理器中右键单击主项目>发布>然后执行几个步骤并单击"完成"结束。我还没有看到任何配置文件出现在我希望看到的发布 floder 中,因为我希望允许用户以后能够配置他的数据库(.dbm 文件)的路径。那么这是第二个问题。
一种选择是将 nHibernate 配置移动到 app.config 中
。<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
...
</session-factory>
</hibernate-configuration>
在您的配置部分添加
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" requirePermission="false" />
...
<configSections>
<configuration>
或
var cfg = new Configuration();
cfg.Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"hibernate.cfg.xml"));
还有
"。另一个地方需要检查。
打开您的项目属性,转到"发布",然后单击"应用程序项目"。在此界面中,您必须检查文件休眠.cfg.xml是否处于"发布状态
发布
后,您是否在输出目录中看到休眠.cfg.xml?
如果在 Visual Studio 中添加了此文件,则默认情况下可能不会复制它。
确保在文件的属性中,其类型设置为"内容",输出为"复制"。