Ссылка на пользовательскую библиотеку в лесах razorpage - PullRequest
0 голосов
/ 19 января 2019

В новом веб-проекте Core Aspnet, использующем страницы Razor, я скопировал шаблоны строительных лесов в проект, готовый их изменить, и выполнил следующую команду для выполнения строительных лесов Razorpage:

dotnet aspnet-codegenerator razorpage -p MyProject.Web -m MyEntity -dc MyDbContext -udl -outDir Areas\MyArea\Pages\MyEntities --referenceScriptLibraries --force --no-build

Чтобы создать свои шаблоныБолее умно, я пытался ссылаться на некоторый код, который я написал в классе в проекте.Однако я просто получаю следующую ошибку при запуске шаблонов:

ошибка CS0234: Тип или имя пространства имен «Web» не существует в пространстве имен «MyProject» (у вас отсутствует ссылка на сборку?)

Что наводит меня на мысль, что среда / AppDomain, выполняющий шаблонизацию, не загружают этот проект.Однако это должно быть сделано, потому что он знает о DbContext.Я доказал это, добавив это в шаблон, когда он работал правильно:

<ul>
    @{ 
        foreach (var an in AppDomain.CurrentDomain.GetAssemblies())
        {
            <li>@an.FullName</li>
        }
        @Coin.Web.Templates.SiteMap.GetStringValue()
    }
</ul>

Этот фрагмент кода отобразил все сборки в виде, и там был MyProject.Web.

Это даже поддерживаемая вещь?Я бы хотел избежать дублирования некоторых из этих «умных» фрагментов кода в реальных файлах шаблонов, если я могу помочь.

...