适用于Unity的Intellisense(VS Code)在Linux中不工作,需要仅适用于Windows的.NET Dev Pack

uoifb46i  于 2023-06-07  发布在  .NET
关注(0)|答案(2)|浏览(414)

我最近在我的Linux Cinnamon 19.2机器上安装了Unity 2019.2.12f1,并获得了纯粹用于智能感知功能的Visual Studio Code。然而,与所有微软产品一样,有些地方出了问题,我就是不能让它工作。
我正确地遵循了所有的说明,使用Microsoft's instructions和C#扩展安装了.NET Core。我在Unity的首选项中将VS设置为默认编辑器,并且可以成功打开我的项目(* 不 * 只是一个单独的.cs文件),但是当我键入Transformvoid FixedUpdate或与Unity有关的任何内容时,我没有得到任何自动完成。
我注意到OmniSharp,C#扩展的基础,返回了[fail][warn]。我怀疑这与问题有关或直接导致问题:

[fail]: OmniSharp.MSBuild.ProjectLoader
        The reference assemblies for .NETFramework,Version=v4.7.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks
[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file '/home/ck/Unity Projects/USS3/Assembly-CSharp.csproj'.
/home/ck/Unity Projects/USS3/Assembly-CSharp.csproj
/home/ck/.vscode/extensions/ms-vscode.csharp-1.21.7/.omnisharp/1.34.7/omnisharp/.msbuild/Current/Bin/Microsoft.Common.CurrentVersion.targets(1191,5): Error: The reference assemblies for .NETFramework,Version=v4.7.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

[fail]: OmniSharp.MSBuild.ProjectManager
        Attempted to update project that is not loaded: /home/ck/Unity Projects/USS3/Assembly-CSharp.csproj

这很奇怪,因为我可以在侧边栏资源管理器中清楚地看到错误中提到的Assembly-CSharp.csproj

无论如何,我试图按照消息中的说明通过访问this website下载“.NET开发人员包”,但我没有看到任何Linux版本的开发人员包。我怀疑运行Windows安装程序是否能正常工作,如果它确实安装了它,我不知道VS是否能识别它 (编辑:我最终尝试安装它,WINE运行了.exe,但VS代码中没有任何变化)。我也试着用谷歌搜索了一下,但没有运气...
没有Intellisense,我真的做不了很多事情,所以我迟早需要解决这个问题。有人有解决这个问题的建议吗?

qv7cva1a

qv7cva1a1#

您可以在项目中将其更改为.NET 3.5(文件->构建设置->播放器设置)。你以前有.NET 4.x。
upgrade your mono runtime
或者:1.打开Assembly-CSharp.csproj文件,它位于项目的根目录下2.您只需更改此v4.6.1 3.只需替换安装的任何版本的.NET Framework sdk即可。
有很多trys,check this may it helps you

eiee3dmh

eiee3dmh2#

对我来说,这是有效的(arch linux,vscode,unity editor 2021.3.25f1):
1.安装C#组件:

  • sudo pacman -S dotnet-sdk dotnet-runtime mono

1.在Unity中安装Visual Studio代码编辑器:

  • 窗口-> Package 经理
  • 搜索“vscode”
  • 安装“Visual Studio代码编辑器”

1.设置“Omnishamp:使用现代网”在vscode中进行虚假操作

  • 文件->首选项->设置
  • serach“@ext:ms-dotnettools.csharp modern”
  • 取消选择“Omnishark:使用现代网络”

1.关闭vscode并从Unity Project打开它

  • 资源->打开C#Sharp项目

相关问题