Ошибка при создании моделей в Umbraco 7.6 в режиме API ModelsBuilder - PullRequest
1 голос
/ 11 мая 2019

У меня Umbraco 7.6

Я пытаюсь включить ModelsBuilder в режиме API.Насколько я узнал в моей версии umbraco, Umbraco.ModelsBuilder.Api должен был уже быть частью Umbraco.Core и установлен.

Однако, когда я проверяю на своей вкладке Developer> ModelsBuilders, я вижу это:

ModelsBuilder is enabled, with the following configuration:

The models factory is enabled.
The API is enabled but not installed.
External tools such as Visual Studio cannot use the API.
No models mode is specified: models will not be generated.
Models namespace is Umbraco.Web.PublishedContentModels.
Static mixin getters are enabled. The pattern for getters is "Get{0}".
Tracking of out-of-date models is not enabled.

В моем web.config у меня есть это:

  <add key="Umbraco.ModelsBuilder.Enable" value="true" />
<add key="Umbraco.ModelsBuilder.EnableApi" value="true" />
  <add key="Umbraco.ModelsBuilder.ModelsMode" value="Nothing" />

Так как там написано:

The API is enabled but not installed.

Я пытался установить Umbraco.ModelsBuilder.Api, но не нашел никакой информациикакие версии ModelsBuilder совместимы с Umbraco 7.6, поэтому я установил последнюю версию 8.0.4 в свой стартовый веб-проект.

Я установил расширение VS и создал отдельный проект для хранения моделей, например.MyProject.Umbraco.Models, щелкнул правой кнопкой мыши файл Builder.cs и щелкнул «Запустить пользовательский инструмент» (который я ранее установил в свойствах Builder.cs.

Он что-то делает, но в конце выдает ошибку:

UmbracoModelsBuilder: Starting v8.0.4 10/05/2019 18:29:01.
UmbracoModelsBuilder: UmbracoModelsBuilder failed to generate code: UnsupportedMediaTypeException: No MediaTypeFormatter is available to read an object of type 'IDictionary`2' from content with media type 'text/html'.
UmbracoModelsBuilder:    at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)
   at Umbraco.ModelsBuilder.Api.ApiClient.GetModels(Dictionary`2 ourFiles, String modelsNamespace)
   at Umbraco.ModelsBuilder.CustomTool.CustomTool.UmbracoModelsBuilder.GenerateRaw(String wszInputFilePath, String wszDefaultNamespace, IntPtr[] rgbOutputFileContents, UInt32& pcbOutput, String& errMsg)

Кто-нибудь может помочь с этим?

РЕДАКТИРОВАТЬ

Я создал свой проект Api и установил UmbracoCore, ModelsBuilder и ModelsBuilder.Api - те же версии, что и у моего веб-проекта (я думаю, что это версия 3.0.7 ModelsBuilder, а не 8.0.4, как я изначально пробовал), поэтому в API или веб-проекте отсутствует установка.

...