hibernate.cfg. xml не найдено - NHibernate + dot. net core - PullRequest
0 голосов
/ 18 июня 2020

Я создаю простое консольное приложение для тестирования nhibernate 5.2.7 с использованием. net core 3.1.

Я просто добавляю App.config в свой проект:

image NHibernate.Dialect.MsSql2012Dialect дб 100

Это мой основной метод и конфигурация NHibernate:

static void Main(string[] args)
{
    var nhConfig = new Configuration().Configure();
    var sessionFactory = nhConfig.BuildSessionFactory();
    Console.WriteLine("NHibernate Configured!");
    Console.ReadKey();
}

Когда я запускаю это консольное приложение, выдается следующее исключение:

Exception: NHibernate.Cfg.HibernateConfigException: 'An exception occurred during configuration of persistence layer.'

Inner: FileNotFoundException: Could not find file 'D:\@git\stufs\Cookbook\ConfigByAppConfig\bin\Debug\netcoreapp3.1\hibernate.cfg.xml'.

Исключение составляет throw в следующем операторе:

var nhConfig = new Configuration().Configure();

csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="NHibernate" Version="5.2.7" />
    <PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
  </ItemGroup>

  <ItemGroup>
    <None Update="App.config">
      <CopyToOutputDirectory>Never</CopyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>

Примечание

Если я попытаюсь настроить Nhibernate с помощью кода, он будет работать правильно:

static void Main(string[] args)
{
    var nhConfig = new Configuration().DataBaseIntegration(db =>
    {
        db.Dialect<MsSql2012Dialect>();
        db.ConnectionStringName = "db";
        db.BatchSize = 100;
    });

    var sessionFactory = nhConfig.BuildSessionFactory();
    Console.WriteLine("NHibernate Configured!");
    Console.ReadKey();
}

1 Ответ

1 голос
/ 18 июня 2020

Попробуйте это,

Go в свой hibernate.cfg. xml

в свойствах, найдите действие сборки и установите его тип на content и копировать в выходной каталог в Всегда копировать

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...