Version: 2023.1
版本控制
符合法律要求

程序集定义和包

You must associate scripts inside a package to an assembly definition file (.asmdef). Assembly definition files are the Unity equivalent to a C# project in the .NET ecosystem. You must set explicit references in the assembly definition file to other assemblies (whether in the same package or in external packages). Refer to Assembly Definitions for more details.

请使用以下约定来命名和存储程序集定义文件,确保编译的程序集文件名遵循 .NET Framework 设计指南 (.NET Framework Design Guidelines)

  • 将特定于 Editor 的代码存储在根 Editor 程序集定义文件中:

    Editor/<company-name>.<package-name>.Editor.asmdef

  • 将特定于运行时的代码存储在根运行时程序集定义文件中:

    Runtime/<company-name>.<package-name>.asmdef

  • 为 Editor 和运行时脚本配置相关的测试程序集:

    Tests/Editor/<company-name>.<package-name>.Editor.Tests.asmdef

    Tests/Runtime/<company-name>.<package-name>.Tests.asmdef

To get a more general view of a recommended package folder layout, refer to Package layout.

示例文件

In this example, the assembly definition file uses references to its own assemblies, and an assembly that’s part of a package dependency (HDRP):

{
    "name": "MyCompany.MyPackageName",
    "references": [
        "MyCompany.MyPackageName.Tools",
        "MyCompany.MyPackageName.Planes",
        "Unity.RenderPipelines.HighDefinition.Runtime"
    ],
    "includePlatforms": [],
    "excludePlatforms": [],
    "allowUnsafeCode": false,
    "overrideReferences": false,
    "precompiledReferences": [],
    "autoReferenced": true,
    "defineConstraints": [],
    "versionDefines": [
        {
            "name": "com.unity.render-pipelines.high-definition",
            "expression": "7.1.0",
            "define": "HDRP_7_1_0_OR_NEWER"
        },
        {
            "name": "com.unity.modules.particlesystem",
            "expression": "1.0.0",
            "define": "USING_PARTICLE_SYSTEM"
        }
    ],
    "noEngineReferences": false
}

For details about the structure of an assembly definition file, refer to Assembly Definition File Format.

其他资源

版本控制
符合法律要求