当我尝试在C# DotNet Core MVC应用程序上使用Visual Studio代码时,我在使用Visual Studio代码时遇到了很多麻烦,它很难找到任何与C#相关的东西,甚至连“使用系统”都标记不出来。'无效,表示找不到。
但是,当我运行Dotnet构建时,它成功了,没有警告或错误,并且项目运行。
我的项目。
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
},
"Microsoft.EntityFrameworkCore.Sqlite": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": {
"version": "1.1.0",
"type": "build"
},
"Microsoft.AspNetCore.Mvc": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
"Microsoft.AspNetCore.StaticFiles": "1.1.0"
},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
}
}
有什么主意吗?我真的很想知道。
8条答案
按热度按时间of1yzvn41#
有时C# for Visual Studio代码(由OmniSharp提供支持)会变得混乱。
尝试重新启动OmniSharp。以下是两种方法:
1.关闭并重新打开Visual Studio代码,或者
1.打开命令托盘并键入
Restart Omnisharp
。如果我们从命令行而不是从Visual Studio代码中恢复依赖项,OmniSharp往往会感到困惑。
q3aa05252#
在使用.NET Core 3.0的Fedora 30上的VS代码中,我在使用dotnet new worker创建一个worker项目后遇到了同样的问题
第一个问题是OmniSharp服务器找不到Sdks文件夹,解决方案是将此行包含到**~/.bashrc**中:
然后重新启动VS代码,但C#扩展显示了一些消息,如:
命名空间“System”中不存在类型或命名空间名称“Collections”(是否缺少程序集引用?)
该解决方案首先是在最终运行中:
然后使用命令面板(Ctrl+Shift+P)重新启动OmniSharp服务器:
然后我重新启动VS代码,C#扩展和所有依赖项都工作正常。
cld4siwp3#
好了,我已经找到了问题的原因,我引用了project.json文件框架部分的错误导入。
这一点:
应该是这样的:
我在一台windows8机器上,由于某种原因,"dnxcore50"无效,但"dotnet5.6"和"portable-net45 + win8"有效。我将继续寻找这个问题的"为什么",但我现在发布这个答案,以防其他人正在处理这个问题。
zhte4eai4#
如果您收到此错误,则可能丢失了一个包。
“未能找到类型或命名空间名称”System“”
要添加软件包,可以在终端中运行以下命令:
示例:将Newtonsoft.Json NuGet包添加到项目:
然后,转到曲线,通过单击灯泡添加缺少的参考。
您也可以安装Nuget Package Manager扩展来查找您需要的软件包。请参阅此答案以了解更多信息:
Install a Nuget package in Visual Studio Code
bnlyeluc5#
我在Mac中使用VS代码与OmniSharp和单声道和问题消失后,做以下:
对于安装了Mono的MacOS和Linux用户,这意味着您需要将omnisharp.useGlobalMono设置为从不,直到Mono版本随MSBuild 16.7一起发布。
ccgok5k56#
在我的例子中,vscode只显示了一个文件的错误,这个问题是通过将丢失的文件添加到
Assembly-CSharp.csproj
中解决的,我不确定什么时候文件是自动添加的,什么时候我必须手动添加,但它解决了这个问题。uwopmtnx7#
同样的问题在我身上发生了很多次。
在我的情况下,我以管理员身份打开Visual Studio代码,然后运行终端命令
donet buid
(如果需要)重新启动OmniSharp(ctrl +shift + p)那么它工作正常!!!
ymdaylpp8#
另一个可能导致“using System”错误的原因是将
.vscode
目录存储在git仓库中(我没有将其添加到.gitignore
)。使用VSCode打开解决方案文件夹可能会产生类似上面的跨版本问题,只需删除
.vscode
目录即可解决。