Asp.net Core env.ContentRootPath为我提供了Root Folder而不是Project文件夹

时间:2017-03-09 14:44:14

标签: asp.net-core visual-studio-code .net-core

env.ContentRootPathDirectory.GetCurrentDirectory()都给了我路径:

C:\\pathToProjects\\MyProjectRoot

但我的项目结构如此

├───.vscode
├───docs
├───src
│   └───MyProject
│       ├───project.csproj
├───test
│   └───MyProject.Tests
│       └───project.csproj
└───project.sln

在迁移和安装1.1.1版本之前,我将获得startup.cs文件所在的文件夹。

如果有人可以在这里提供帮助,还有一个问题。 project.json文件project.csproj文件和将来支持哪些文件有什么区别?sln文件如何更新vs代码中的文件。

3 个答案:

答案 0 :(得分:3)

请参阅cwd文件中的launch.json属性 - 它可用于设置当前工作目录以查找依赖项和其他文件。

Debugging in VSCode

答案 1 :(得分:1)

在Microsoft docs网站上有一个官方比较文档,介绍了project.json和csproj之间的区别。见 - https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj

答案 2 :(得分:0)

我能够修复这样的路径,但我不喜欢它。

HACK:

var rootDirectory = Directory.GetCurrentDirectory() + "\\src\\MyProject";

if (hostingEnvironment.IsProduction())
{
    rootDirectory = hostingEnvironment.ContentRootPath;
}
hostingEnvironment.ContentRootPath = rootDirectory; //fix for path changes