将项目移动到另一个目录会导致缺少视图

Moving project to another directory causes missing view

我使用 dotnet cli 创建了一个项目,一切正常,直到我想为应用程序编写测试。
我创建了一个 src 目录并将整个 Web 项目移动到 src 文件夹,之后我在名为 tests 的文件夹中创建了测试项目。

我在测试项目中添加了对 Web 应用程序的引用,测试 运行 成功但是当我 运行 我的应用程序带有 dotnet run 时,我收到以下错误:

The Views folder is in the src directory and every other files including the *.csproj.

请在下面找到我的文件夹结构:

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

更新:

我明白你现在的问题是什么了,在 launch.json 中,更改

cwd": "${workspaceFolder}",

cwd": "${workspaceFolder}\src",

这个和vs code有关,你需要告诉它哪个文件夹是workspace
您的代码在 Visual Studio
上运行良好 另外,不要忘记删除

products.Add("Error", null);

原文Post:

不确定您当前的文件夹结构是什么,但让我们以您的原始示例为例。

如果您只是将 "Views" 文件夹移动到 src 文件夹中,您可以在 Startup.cs 文件中添加以下内容:

    public void ConfigureServices(IServiceCollection services)
    {
        //..
        services.Configure<RazorViewEngineOptions>(o =>
        {
            for (int i = 0; i < o.ViewLocationFormats.Count; i++)
                o.ViewLocationFormats[i] = "/src" + o.ViewLocationFormats[i];
        });
    }

现在,如果您也移动了其他资源(css,图像),您将必须更新对它们的任何引用。
我不明白你为什么要偏离惯例,创建一个新的干净项目,进行测试,看看与你的项目有什么不同