Umbraco 8 模型生成器无法找到文档类型生成的文件

Umbraco 8 Model builder not unable to find doctype generated file

我正在处理现有的 Umbraco 8 项目并看到一些非常奇怪的行为。我通过本地主机创建了一个文档类型,它生成了 doctype.generated.cs 文件并将其添加到 visual studio,一切都很好。

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

命名空间 'Blog' 中不存在名为 'Blog' 的类型或命名空间(是否缺少程序集引用?)

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

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

如有任何帮助,我们将不胜感激

有一件事总是让我抓狂,如果你要为你的模型构建器使用 AppData,那么你需要总是在项目 Dll 中复制,我认为只是因为我正在更新视图我不需要担心,我错了。

跨项目 Dll 复制,错误消失

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

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

要从 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. 让我们运行我们的项目。干得好

希望有用