1

我按照https://our.umbraco.com/documentation/Getting-Started/Setup/Install/install-umbraco-with-nuget中的说明安装了 Umbraco 8.4

在 Visual Studio 2017 中完成后,我尝试创建一个新的控制器,但文件夹(控制器)丢失了。

我不确定我是否遗漏了什么,但我不想手动创建文件夹,以防它在以后引入新问题。

我想重新创建项目,但没有选择 Empty 作为使用 MVC 的项目,但是在阅读了几个线程之后,似乎正确的方法是选择一个空项目。

在 bin 目录下,我确实看到了 System.Web.Mvc.dll

我错过了什么吗?

4

1 回答 1

0

在创建新项目时绝对应该使用 MVC 项目模板 - 这将添加各种可能与 Umbraco NuGet 包附带的内容发生冲突的依赖项。

使用“空”模板,然后添加 NuGet,它将为您提供运行 Umbraco 所需的依赖项。如果您之后需要从 MVC 添加其他内容,您可以在与 Umbraco 包添加的内容一致的版本中添加这些内容。

关于 Controllers 文件夹 - 这个文件夹的位置或名称并不重要。控制器通过其他方式注册。您完全可以手动创建此文件夹并随意调用它。

Controllers我认为大多数人实际上更喜欢在 VS 解决方案中保留一个完全独立的项目。然后通过您的主项目引用该项目,以确保已编译的 DLL 包含在您的 Web 项目中 - 从而您的控制器可以被 Umbraco 网站本身使用。通过这样做,您可以清晰地分离.cs源文件,这样您就不会在部署站点时意外地部署这些文件。为此,您当然需要将UmbracoCms.CoreNuGet 包添加到您的其他项目中才能使用 Umbraco 功能。

请记住,如果您要添加普通的 MVC 控制器(不是从 Umbraco 基本控制器继承 - 因此不会自动注册),您将需要在路由表中手动注册这些控制器才能访问它们。这与您在普通 ASP.NET MVC 项目中所做的没有什么不同,但由于默认情况下不会在 Umbraco 项目中添加它 - 您需要自己做。

有关如何执行此操作的说明,请参阅此答案:https ://stackoverflow.com/a/56972929/336105

于 2019-12-14T13:36:48.413 回答