vscode omnisharp 不适用于解决方案但适用于项目
vscode omnisharp not working for solution but works for project
我的文件夹结构如下:project/csproj A,project/csproj B
如果我在 vs 代码项目目录中打开,omnisharp 仅适用于 csproj B。如果我在vs code中打开project/csproj一个目录,omnisharp为这个项目工作。
如何解决这个问题,以便我可以打开项目目录并对两个项目都使用 omnisharp?
如果重要的话,损坏的项目是 nunit 类型。我尝试重新加载 vscode、disabling/enabling omnisharp。
我在
的空目录中创建了项目
dotnet new nunit -n=projectB
一个解决方案由一个sln文件指定,如果您还没有一个,只需在solution-level文件夹中新建一个
dotnet new sln
然后,您必须将项目引用添加到解决方案
dotnet sln path/to/solution add path/to/project
如果 omnisharp 没有更新它,请重新启动它或使用 vs 代码。
Omnisharp 只能支持单个项目或解决方案,因此,要支持多个项目,您必须使用 "solution",它不仅仅是一个文件夹,而是一个 sln 文件。
您的文件夹结构是反模式的,自然不受支持,因为 .NET Core 使用 SDK-style csproj 项目,它将所有源文件添加到 project-level 文件夹(csproj 文件所在的位置) ,因此在一个 project-level 文件夹中包含多个 csproj 文件仅适用于具有多个目标的一个项目。如果你的项目A和B在同一个文件夹中,这意味着它们可能包含重复的源文件,可能会导致类型冲突的错误,除非你在csproj文件中分别指定了源排除。
推荐的文件夹结构是
<Solution and git repository level folder>
|-- src
| |-- <Project level folders>
| | |-- <Folder structures based on namespace>
| | | └-- <Source files>
| | |-- <Asset files with approprate folder structure>
| | └-- <The csproj file>
| |-- Directory.Build.props (Common MSBuild props for all src projects)
| └-- Directory.Build.targets (Common MSBuild targets for all src projects)
|-- test
|-- └-- <Test projects with similar folder structure to src>
|-- build
|-- └-- <Common MSBuild props and targets files to be referenced by src and test>
|-- docs
| └-- <Documents>
|-- <Other repository assets>
└-- <The sln file>
我的文件夹结构如下:project/csproj A,project/csproj B 如果我在 vs 代码项目目录中打开,omnisharp 仅适用于 csproj B。如果我在vs code中打开project/csproj一个目录,omnisharp为这个项目工作。
如何解决这个问题,以便我可以打开项目目录并对两个项目都使用 omnisharp?
如果重要的话,损坏的项目是 nunit 类型。我尝试重新加载 vscode、disabling/enabling omnisharp。 我在
的空目录中创建了项目dotnet new nunit -n=projectB
一个解决方案由一个sln文件指定,如果您还没有一个,只需在solution-level文件夹中新建一个
dotnet new sln
然后,您必须将项目引用添加到解决方案
dotnet sln path/to/solution add path/to/project
如果 omnisharp 没有更新它,请重新启动它或使用 vs 代码。
Omnisharp 只能支持单个项目或解决方案,因此,要支持多个项目,您必须使用 "solution",它不仅仅是一个文件夹,而是一个 sln 文件。
您的文件夹结构是反模式的,自然不受支持,因为 .NET Core 使用 SDK-style csproj 项目,它将所有源文件添加到 project-level 文件夹(csproj 文件所在的位置) ,因此在一个 project-level 文件夹中包含多个 csproj 文件仅适用于具有多个目标的一个项目。如果你的项目A和B在同一个文件夹中,这意味着它们可能包含重复的源文件,可能会导致类型冲突的错误,除非你在csproj文件中分别指定了源排除。
推荐的文件夹结构是
<Solution and git repository level folder>
|-- src
| |-- <Project level folders>
| | |-- <Folder structures based on namespace>
| | | └-- <Source files>
| | |-- <Asset files with approprate folder structure>
| | └-- <The csproj file>
| |-- Directory.Build.props (Common MSBuild props for all src projects)
| └-- Directory.Build.targets (Common MSBuild targets for all src projects)
|-- test
|-- └-- <Test projects with similar folder structure to src>
|-- build
|-- └-- <Common MSBuild props and targets files to be referenced by src and test>
|-- docs
| └-- <Documents>
|-- <Other repository assets>
└-- <The sln file>