默认情况下,Unity 在您使用 .NET 4.x API 兼容性级别时引用以下程序集:
mscorlib.dll
System.dll
System.Core.dll
System.Runtime.Serialization.dll
System.Xml.dll
System.Xml.Linq.dll
应使用 csc.rsp 文件来引用所有其他类库程序集。可将此文件添加到 Unity 项目的 Assets 目录,然后使用该文件将其他命令行参数传递到 C# 编译器。例如,如果项目使用 HttpClient 类(在 System.Net.Http.dll 程序集中定义),C# 编译器可能生成以下初始错误消息:
The type
HttpClient
is defined in an assembly that is not referenced.You must add a reference to assembly ‘System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’.
要解决此错误,请将以下 csc.rsp 文件添加到项目:
-r:System.Net.Http.dll
应按照以上示例中所述引用类库程序集。必须将这些程序集文件放在项目的 Assets 文件夹内或其中的子文件夹内。
原内容在:
https://docs.unity.cn/cn/2019.4/Manual/dotnetProfileAssemblies.html
(注意要找到对应版本的网站,因为rsp文件名可能不一样
)
最近在用C#编程时
引用
了DotSpatial的相关功能,编译时遇到Build Error:The type '***' is defined in an assembly that is not referenced的问题。
问题分析:
正如提示所有,你使用了该方法但是却没有对其进行
引用
。
解决
方案:
在工程references文件夹中右键 Add reference…,找到提示中所指出的内容的dll文件,添加
引用
,问题
解决
。
//缺少编译器要求的成员“ystem.Runtime.CompilerServices.ExtensionAttribute..ctor”
namespace System.Runtime.CompilerServices
public class ExtensionAttribute : Attribute { }
.NET类
库
System.Drawing提供了一系列的图形函数,但由于其使用的是GDI接口,与DirectX和OpenGL之间不兼容,在
Unity
中默认是不被支持的。但有时候,我们想在
Unity
中使用一些基于System.Drawing编写的类,而运行平台仅限于PC,这个时候我们可以通过两个步骤将System.Drawing引入
Unity
项目中:1、在
Unity
的安装路径中找到System.Drawing.dll,将其复制到我们的项目文件夹System.Drawing.dll的具体位置:%
Unity
根目录%