Да, с -Xmx вы можете настроить больше памяти для JVM. Убедитесь, что вы не просачиваетесь и не теряете память. Возьмите кучу кучи и используйте анализатор памяти Eclipse , чтобы проанализировать потребление памяти.
Я боролся с этим в течение нескольких месяцев и, наконец, нашел способ отключить переходные ссылки проектов в Core.
В файле .csproj для .Facade.EF вы можете добавить PrivateAssets="All"
к ProjectReference к .DAL:
<ItemGroup>
<ProjectReference Include="..\.DAL\.DAL.csproj" PrivateAssets="All" />
</ItemGroup>
С помощью этой настройки проекты, которые ссылаются .Facade.EF, больше не ссылаются на DAL.
В более абстрактных терминах, если вы хотите, чтобы A ссылался на B и B на ссылку C, но не хотел, чтобы A ссылался на C, добавьте это:
В B.csproj
<ItemGroup>
<ProjectReference Include="..\C\C.csproj" PrivateAssets="All" />
</ItemGroup>
Источник: https://github.com/dotnet/project-system/issues/2313
Это предполагаемое поведение. Он называется метапакетами и используется, например, для пакета NETStandard.Library
для включения всех библиотек библиотеки базового класса. Я не думаю, что есть способ их спрятать.
.Facade.EF
), вы нарушаете все скрытые шаблоны. Если вы делаете это с помощью инъекции IoC / dependency, шаблон работает, и ваша проблема видимости исчезает. Я также считаю, что скрытие класса Product
и методов размещения в репозитории, например GetName
, не отражает шаблон репозитория.
– Thomas
26 June 2016 в 11:45