当尝试在C#DotNet Core MVC应用程序上使用Visual Studio Code时,我在使Visual Studio代码工作时遇到了很多麻烦.它无法找到与C#相关的任何内容,甚至标记为"使用系统"; 无效,说它找不到它.
但是,当我运行dotnet build时,它会成功,没有警告或错误,项目就会运行.
我的project.json:
{
"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"
}
}
} …Run Code Online (Sandbox Code Playgroud) 我使用 VS Code 作为我的 IDE。今天,我在 C# 文件中看到我无法再使用“转到定义/实现”之类的内容或将鼠标悬停在任何内容上来获取路径/类型等。
我找到我的 Omnisharp 控制台并看到它们昨晚更新,但出现错误:
错误:找到 dotnet 版本 5.0.201。所需的最低版本是 6.0.100。
我无法升级我的 dotnet,因为 6.0 与我的项目中的运行时不兼容,并且在 Mac M1 上,运行多个 dotnet 实例会出现很多问题。
我想这有点困难,有人知道我该如何解决这个问题吗?
当我开始编辑 C# 文件时,我收到此警告消息
Some projects have trouble loading. Please review the output for more details.
Run Code Online (Sandbox Code Playgroud)
我检查输出,这就是我发现的
Starting OmniSharp server at 2/17/2021, 6:06:51 AM
Target: /Users/zeyad/Documents/Sandbox/CSharpTut
OmniSharp server started with Mono 6.12.0.
Path: /Users/zeyad/.vscode/extensions/ms-dotnettools.csharp-1.23.9/.omnisharp/1.37.7-beta.29/omnisharp/OmniSharp.exe
PID: 1391
[info]: OmniSharp.Stdio.Host
Starting OmniSharp on MacOS 10.13.6 (x64)
[info]: OmniSharp.Services.DotNetCliService
DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 2 MSBuild instance(s)
1: Mono 16.6.0 - "/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin"
2: StandAlone 16.8.0 - "/Users/zeyad/.vscode/extensions/ms-dotnettools.csharp-1.23.9/.omnisharp/1.37.7-beta.29/omnisharp/.msbuild/Current/Bin"
[warn]: OmniSharp.CompositionHostBuilder
It looks like you have Mono installed which contains a MSBuild lower than …Run Code Online (Sandbox Code Playgroud) 在 Visual Studio (VS) Code 上,使用 C# 进行编码。我正在尝试生成要构建和调试的资产,但收到以下错误消息:无法生成要构建和调试的资产。OmniSharp 服务器未运行。
我在跑:
到目前为止,我已经尝试卸载 VS 代码和 C# 扩展,我将 设置.json 中的omnisharp.path 更新为最新版本,并更新了 powershell 版本。
我尝试生成用于构建和调试的资产的代码确实可以运行,因此我不确定还应该在哪里寻找问题的根源。
如果您需要更多详细信息,请随时询问
我想按照最新的文件范围命名空间语法在 Microsoft Visual Studio Code 中生成新的C#类或接口。C#C#10
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/types/namespaces
从 C# 10 开始,您可以为该文件中定义的所有类型声明命名空间,如以下示例所示:
Run Code Online (Sandbox Code Playgroud)namespace SampleNamespace; class AnotherSampleClass { public void AnotherSampleMethod() { System.Console.WriteLine( "SampleMethod inside SampleNamespace"); } }
我以这种方式生成 C# 类:
右键单击资源管理器中的文件夹 -> 新建 C# 类。
输出如下所示:(带大括号的旧语法)
Run Code Online (Sandbox Code Playgroud)namespace SampleNamespace { class SampleClass { public void SampleMethod() { System.Console.WriteLine( "SampleMethod inside SampleNamespace"); } } }
我在用着C# for Visual Studio Code (powered by OmniSharp). v1.24.0
VS代码版本是1.62.3
有没有办法覆盖生成器行为以生成新的文件范围的命名空间语法?
我正在使用Visual Studio Code在Mac上开发ASP.NET 5应用程序.为了在我的.cs文件中使用新类(框架或第三方),我需要
project.json再using语句添加到我的.cs文件中.似乎应该有一种更好的方法来导入新功能,而不涉及搜索正确的NuGet和正确的命名空间.有什么建议?
我正在使用 Visual Studio 代码。在我的计算机上,我有两个单独安装的 Net Core SDK/dotnet CLI 工具
%ProgramFiles%\dotnet和%AppData%\...我需要 Visual Studio Core - 以及 Omnisharp - 才能使用最新的(即自定义安装)。不幸的是,由于我的机器设置,默认的“dotnet”命令是在过时的安装中注册的,我无法更改它。Omnisharp 也在同一位置使用 SDK。
对于上下文,至于为什么我的机器有如此奇怪的设置以及为什么我对此无能为力,请参阅Cmd 优先级:如何在安装在 2 个位置时使用正确的 dotnet.exe?
谢谢
我在这里通过github使用新的asp.net mvc:https://github.com/aspnet/home我为Sublime Text 3安装了Omnisharp软件包以获得C#自动完成功能.我正在尝试运行HelloMvc项目,当我运行k kestrel然后打开它时工作正常http://localhost:5004/
但是,当我保存文件(例如,HomeController.cs)然后Sublime Text控制台打开并给我以下错误时,有点烦恼:
Error : Unknown Resolver Error - (1, 23)
Error : '?' does not contain a definition for 'Mvc' - (1, 27)
Error : 'Controller' is not a known identifier - (6, 45)
Error : 'IActionResult' is not a known identifier - (8, 29)
Error : 'View' is not a known identifier - (10, 24)
Error : 'HomeController' does not contain a definition for 'View' - (10, …Run Code Online (Sandbox Code Playgroud) 我在几个.net核心应用程序中遇到了上述错误的问题.我正在使用vs代码版本1.18.0,但错误开始出现在以前的版本中.
对于每个数据类型(如string,int,void等),以及类导入,每个.cs文件中都会出现错误.
所有项目仍然可以正确编译和运行.另外在另一个工作站上,我在同一个项目中没有问题,所以它似乎是一个本地的omnisharp/vs代码或窗口?问题.
有没有人有这样的东西,并设法解决它或任何建议我可以尝试?
我已经重新安装了vs code和omnisharp,但我仍然遇到了问题.
示例错误: 未定义或导入预定义类型"System.Object"[GG]
在我的项目中,我使用 C# Roslyn 脚本来实现一些可以让我的客户单独编写的自动化。我在运行时编译并运行它。
现在我想要一个带有智能感知和拼写检查的 c# 网络编辑器。对于代码完成,我还想通过我的 API 获取一些私有块数据包以提供给脚本。
实际上,我使用 Visual Studio Code 做到了这一点。但是在自托管网页上有相同的行为会很好。
我找到了 Monaco-editor 和 omnisharp 项目。我认为这很好,因为 Visual Studio Code 也使用它。
有谁知道将这些东西组合在一起的示例项目或开源项目?我相信我不是第一个有这个想法的人。