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

时间:2017-12-26 20:18:24

标签: c# asp.net-core-mvc asp.net-core-2.0 dotnet-cli

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

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

enter image description here

  

Views文件夹位于src目录中,其他所有文件都包含* .csproj。

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

Folder Structure

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:7)

<强>更新

我现在看看你的问题是什么,在launch.json中,改变

cwd": "${workspaceFolder}",

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

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

products.Add("Error", null);

原帖:

不确定哪个是您当前的文件夹结构,但让我们采用您的原始示例。

如果你只是在src文件夹中移动“Views”文件夹,你可以在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,images),则必须更新对它们的任何引用 我不明白为什么你应该偏离惯例,创建一个新的清洁项目,通过测试,看看你的项目有什么不同