我通过重命名文件夹或其他东西打破了我的vscode项目。不完全确定发生了什么。问题是虽然我仍然可以构建并运行没有问题,但是当我收到编译错误时,例如当我双击消息时,它会显示
无法打开'XXXController.cs':找不到文件 (文件://Controllers/XXXController.cs)
沿着这条线的某个地方似乎已经丢失了源文件夹中3个项目中的1个项目的cs文件的完整路径。我的印象是vscode没有维护项目中的文件列表,所以我不知道除了重新创建项目之外我还能如何恢复?
还有其他问题 - 智能感知似乎也不适合这个项目。
有没有人有任何想法我如何尝试解决这个问题?
编辑:它提供了创建“缺失”文件的选项。当我这样做时,它在C:\ Controllers \中而不是在* .csproj位置下的\ Controllers文件夹中创建一个新文件?
此致 戴夫
答案 0 :(得分:9)
The problem appears to be that msbuild by default doesn't output full paths when it reports errors, omnisharp-vscode requires full paths to resolve files so adding GenerateFullPaths=true to the .vscode\tasks.json seems to resolve the issue.
i.e.
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/Test.Api/Test.Api.csproj",
// Ask msbuild to generate full paths for file names.
"/property:GenerateFullPaths=true"
],
"problemMatcher": "$msCompile"
}
]
}