我正在使用VSCode 1.19并试图" Go>转到定义"在.cs文件中,如在Visual Studio中,它什么都不做。在.js文件中,它运行良好,我猜测是否有一些解决方法。
答案 0 :(得分:13)
文件夹中可能有多个“项目”,并且VSCode选择了“错误”的项目。 (在VSCode中,“项目”表示sln文件)
使用ctrl-shift-P并选择“ OmniSharp:选择项目”以选择正确的项目(.sln文件)。
如果打开“输出”窗口并选择“ OmniSharp日志”,您将看到它读取了csproj。完成后,您的goto定义将开始起作用
答案 1 :(得分:2)
正如@AndyPook的答案在评论中所写,另一种可能的解决方案是仅重新启动OmniSharp。
CTRL + SHIFT + P -> OmniSharp: Restart OmniSharp
答案 2 :(得分:1)
我知道我对这个线程很晚,但是重新启动omnisharp不能为我解决此问题。解决问题的方法是运行“ dotnet restore”并再次打开项目文件夹。
答案 3 :(得分:1)
我在VSCode中遇到了相同的问题(多个项目Web API和Angular MVC),并通过创建一个新的sln
文件来解决。请执行以下步骤:
步骤1:创建项目sln
文件。 (例如:MyApp.sln
)
步骤2:打开sln
文件并粘贴以下代码:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyApp", "MyApp\MyApp.csproj", "{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x64.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x64.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x86.ActiveCfg = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Debug|x86.Build.0 = Debug|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|Any CPU.Build.0 = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x64.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x64.Build.0 = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x86.ActiveCfg = Release|Any CPU
{BC407A9C-4BD2-4086-9862-6E5A547D1DD8}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
步骤3: Crtl + Shift + P 打开项目。
答案 4 :(得分:1)
修复:同一文件夹中有多个解决方案
此答案是@AndyPook答案的直观版本。
1。 Crtl + Shift + P
2。。搜索>OmniSharp
3。。选择选项Select Project
5。。通过查看OmniSharp日志进行验证
答案 5 :(得分:0)
我今天遇到同样的问题,试着将自己从Visual Studiod转移到Code, 由于我的项目基于Microservie,因此我对每个微服务都有多个解决方案和回购,因为CI / CD简单, 现在,Multipel Root Work Space的VS代码功能帮助了我, 因此,如果您从专业发展前景设置VS代码作为c#开发人员,请按照以下步骤进行操作
Crtl + shif + P:工作区:打开配置文件,你也可以设置复合启动设置,同时在调试模式下打开多个sln, 如下所示: “发射”:{ “配置”:[
],
"compounds": [
{
"name": "Launch Server & Client",
"configurations": [
"CMSAPI",// Each indivisual sln launch setting unique name
"Core"
]
}
]
}
答案 6 :(得分:0)
我遇到了同样的问题,但是有一个TypeScript项目文件夹。解决方案是简单地重新打开文件夹。