Visual studio 2013 如何在VisualStudio中更改默认视图创建逻辑?

Visual studio 2013 如何在VisualStudio中更改默认视图创建逻辑?,visual-studio-2013,asp.net-mvc-5,overriding,Visual Studio 2013,Asp.net Mvc 5,Overriding,我已经寻找并试图回答这个问题以及10亿次谷歌搜索,但还没有找到解决方案 我的目录结构是一个多租户MVC站点,具有一个覆盖的视图引擎,该引擎使用区域为不同主机提供内容,这些主机共享从基本控制器和视图文件夹全局提供的许多公共逻辑。我们将这一步做得更进一步,将不同的全局站点部分划分到一个名为SiteSections的新文件夹中。在这个文件夹中,我们有更多的区域 我遇到的问题是,每当我尝试从SiteSections文件夹中的控制器内部使用visual studio上下文菜单时,它总是将其添加到全局视图文

我已经寻找并试图回答这个问题以及10亿次谷歌搜索,但还没有找到解决方案

我的目录结构是一个多租户MVC站点,具有一个覆盖的视图引擎,该引擎使用区域为不同主机提供内容,这些主机共享从基本控制器和视图文件夹全局提供的许多公共逻辑。我们将这一步做得更进一步,将不同的全局站点部分划分到一个名为SiteSections的新文件夹中。在这个文件夹中,我们有更多的区域

我遇到的问题是,每当我尝试从SiteSections文件夹中的控制器内部使用visual studio上下文菜单时,它总是将其添加到全局视图文件夹中

我假设的情况是,由于这些区域位于不同的目录中,VisualStudio正在区域文件夹中搜索我正在使用的名称的区域。因为它保存在不同的目录中,所以它只是默认为全局目录。我查看了所有不同的T4模板,没有看到任何指定创建视图的目录的内容

我只有一个问题,我希望这是可能的

如何覆盖VisualStudio以在第二个目录中查找相关区域


提前谢谢

我经历过类似的事情,不是区域,而是文件夹

您是否尝试在ViewEngines上添加自定义视图引擎

我遵循的步骤是:

1-我在方法应用程序的Global.asax.cs中放置了这一行\u Start: ViewsEngines.Engines.Addnew MyCustomViewEngine

2-我创建了名为MyCustomViewEngine的文件,该文件继承自RazorViewEngine,例如:

public class MyCustomViewEngine : RazorViewEngine
{
    public MyCustomViewEngine()
    {
        base.ViewLocationFormats = MyViewLocationFormats;
    }

    private static string[] MyViewLocationFormats = new[]
    {
        "~/Views/Folder/{0}.cshtml",
        "~/Views/Folder_1/Folder_2/{0}.cshtml"
    }
}
我想您可以这样使用:~/Areas/Views/Folder/{0}.cshtml


希望这有帮助

我有一个自定义的ViewEngine,配置它可以正确地为文件提供服务。我的问题是Visual Studio,当我使用关联菜单并选择“添加视图”时,它在哪里创建文件。它总是覆盖全局文件(如果有)。