小编Eya*_*yap的帖子

找不到框架“ .NETFramework,Version = v4.7.1”的参考程序集

我尝试在Linux(Ubuntu 18.10)下使用VSCode打开Unity3D项目。omn​​isharp扩展不会加载项目,表示未找到程序集。

这似乎很愚蠢,但是我还不太习惯.Net,而且我已经在相当长的一段时间里一直停留在此错误上。我一直在尝试重新安装dotnet(甚至使用snap软件包),mono,vscode和omnisharp扩展。

因此,欢迎任何帮助!:)

Unity版本:2018.3.1f1

日志:

dotnet-信息

.NET Core SDK (reflecting any global.json):
 Version:   2.2.103
 Commit:    8edbc2570a

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.10
 OS Platform: Linux
 RID:         ubuntu.18.10-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.103/

Host (useful for support):
  Version: 2.2.1
  Commit:  878dd11e62

.NET Core SDKs installed:
  2.2.103 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Run Code Online (Sandbox Code Playgroud)

单版本

Mono JIT compiler version 4.6.2 (Debian 4.6.2.7+dfsg-1ubuntu1)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread …
Run Code Online (Sandbox Code Playgroud)

c# linux mono unity-game-engine omnisharp

4
推荐指数
4
解决办法
6518
查看次数

Unity - 在检查器中自定义绘制结构

我有一个自定义结构,代码如下:

[Serializable]
public struct HexPoint : IEquatable<HexPoint>
{
    public readonly int x;
    public readonly int y;
    public readonly int z;
    
    // Some custom methods for initializations and operators
}
Run Code Online (Sandbox Code Playgroud)

如果我将 x、y 和 z 变量设为非只读,它们就会在统一检查器中正常显示。但是,我有一些他们需要满足的规则(实际上是 x+y+z=0),所以我添加了 readonly 以防止人们弄乱它。

但是作为只读变量,它们不会显示(因为它们不能被修改)!:(

我想知道它们是否是我在统一检查器中显示它们的一种方式,类似于 PropertyDrawer。我知道我可以将我的结构切换到一个类,因为 PropertyDrawer 是为类保留的,但我想将它保留为一个结构。

那么,有没有办法显示值?并最终使用自定义初始值设定项修改它们?

非常感谢!

c# struct unity-game-engine unity3d-editor unity-editor

2
推荐指数
1
解决办法
2810
查看次数