Если вы ссылаетесь на Umbraco.Web.PublishedContentModels.dll из вашего проекта контроллеров, тогда вы вызовете круговую ссылку, чтобы она не работала.
, как мы имеем его работать, установив ModelsBuilder в Dll
<add key="Umbraco.ModelsBuilder.ModelsMode" value="Dll" />
Мы затем установите папку Library
и скопировали DLL к этой папке. Другой проект затем ссылается на dll в Библиотеке, поэтому мы не получаем круговую ссылку.
Таким образом, наша структура проекта является чем-то вроде
MySolution
UmbracoWebProject
ControllersProject
Library
Мы не хотим, чтобы скопировать DLL в библиотеку каждый раз, когда мы запускаем modelsbuilder поэтому мы создали событие Pre-Build, чтобы скопировать DLL для нас на каждой сборке.
Чтобы создать событие Pre-Build, щелкните правой кнопкой мыши проект Umbraco в Visual Studio и выберите «Свойства». Выберите «Build Events» и добавьте следующее в Pre-Build, предполагая, что ваша структура проекта аналогична предыдущей.
IF EXIST "$(ProjectDir)bin\Umbraco.Web.PublishedContentModels.dll" xcopy "$(ProjectDir)bin\Umbraco.Web.PublishedContentModels.dll" "$(SolutionDir)Library" /y
Использование Dll режима, вам придется явно запускать модели строитель из Umbraco всякий раз, когда вы меняете DOCTYPEs
Это хорошо работает для нас, но это не кажется, что это та область, которая все еще нуждается в подумайте немного о Umbraco и сообществе. Было бы неплохо иметь решение «установить и забыть».
Установите его как AppData и отрисуйте модели. После этого скопируйте их в отдельный проект, а затем обратитесь к проекту контроллера. – Mivaweb