0

我正在处理现有的 Umbraco 8 项目,并看到一些非常奇怪的行为。我通过我的 localhost 创建了一个 doctype,它生成了 doctype.generated.cs 文件,将它添加到了 Visual Studio,一切都很好。

在部署更改时,我进入模型生成器重新生成模型,看到它们出现在文件夹中,转到页面并得到错误

命名空间“Umbraco.Web.PublishedModels”中不存在名为“Blog”的类型或命名空间(您是否缺少程序集引用?)

我在 AppData 模式下将模型构建器运行到自定义路径,因此它们不会隐藏在 AppData 文件夹中。

我尝试重新启动,将模式更改为 PureLive 和 LiveAppData,但仍然没有乐趣

任何帮助将不胜感激

4

3 回答 3

1

一件事总是让我感到困惑,如果您要为模型构建器使用 AppData,那么您需要始终复制整个项目 Dll,我认为仅仅因为我正在更新视图,我不需要担心,我有多么错误曾是。

跨项目 Dll 复制,错误消失

于 2020-07-24T08:39:09.030 回答
1

顺便说一句,您不需要上传模型 .cs 文件,如果您与开发人员共享数据库,则不应在服务器上生成它们。只在 dev 上生成然后推送 dll。您只需要 dll,因为模型已编译到 dll 中。不过,不要忘记在部署 dll 之前构建项目。

有时会发生的另一件事(但不会导致任何错误)是您不小心在已发布的内容模型中上传了 ood.flag 文件。如果该文件存在,则模型将始终显示为过期。

于 2020-07-25T12:45:28.250 回答
0

从 PureLive 迁移到 LiveAppData:

  1. 在 web.config 文件中的“appSettings”下,“Umbraco.ModelsBuilder.ModelsMode”应设置为“LiveAppData”。

<add key="Umbraco.ModelsBuilder.ModelsMode" value="LiveAppData"/>

  1. ~/App_Data/Models/ 文件夹的内容应该被删除。

  2. ~/App_Data/TEMP/ 文件夹的内容应该被删除。

  3. 让我们运行我们的项目。让我们转到后台中的设置 > 模型生成器页面,然后按“生成模型”按钮。(因此,我们的模型将在 ~/App_Data/Models/ 文件夹中创建。但是,我们的项目仍然无法运行。)

  4. 让我们停止我们的项目并将我们的模型包含在我们的项目中。

  5. 让我们运行我们的项目。做得好

我希望它有效

于 2021-11-20T15:30:13.033 回答