Skip to content

Current Issue Source : ModProject.cs, line 348: Create mod project as v3.5 (Modapi v2.0.9558) #10

@zzangae

Description

@zzangae

ModAPI 전체를 .NET 4.8 환경으로 통일해서 Unity 5.6.x 패치를 최적화하는 것이 목표이군요.
그러면 MSB3274 경고가 발생하는 프로젝트를 먼저 특정해야 합니다. BaseModLib을 참조하면서 .NET 3.5 타겟으로 설정된 프로젝트가 어딘가 있다는 뜻이니까요. 모든 ModAPI 프로젝트는 이미 v4.8입니다. 그러면 MSB3274 경고는 모드 빌드 과정에서 발생하는 것입니다.

현재 문제의 근원:

ModProject.cs 348줄에서 모드 프로젝트를 v3.5로 생성 → BaseModLib(v4.8) 참조 시 MSB3274 경고 발생

단계내용

  • ① 모드 프로젝트 4.8로TargetFrameworkVersion → v4.8 (경고 원천 제거)
  • ② 리매핑 로직 확장771-788줄의 버전 리매핑을 .NET 4.8 → Mono 2.0 전체 범위로 확장
  • ③ BaseModLib도 리매핑Game.cs에서 BaseModLib.dll 배포 시에도 참조 버전 자동 리매핑
  • ④ CustomAssemblyResolver 개선이름 기반 매칭 + 캐싱 + 버전 유연 처리
    즉, 개발은 전부 .NET 4.8로 편하게 하고, 게임 배포 시점에 ModAPI가 자동으로 .NET 4.8 참조를 게임의 Mono 2.0 호환 버전으로 변환해주는 구조입니다.

The goal is to optimize the Unity 5.6.x patch by unifying the entire ModAPI environment to .NET 4.8. First, we need to identify the project that's generating the MSB3274 warning. This means there's a project somewhere targeting .NET 3.5 that references BaseModLib. All ModAPI projects are already v4.8. Therefore, the MSB3274 warning is generated during the mod build process.

Current Issue Source:

ModProject.cs, line 348: Create mod project as v3.5 → Reference to BaseModLib (v4.8) triggers warning MSB3274

Steps

  • ① Mod project TargetFrameworkVersion: v4.8 (Warning source removed)
  • ② Remapping logic extended: Version remapping on lines 771-788 extends from .NET 4.8 to Mono 2.0
  • ③ BaseModLib also remapped: Automatically remaps referenced versions even when deploying BaseModLib.dll in Game.cs
  • ④ CustomAssemblyResolver improvements: Name-based matching + caching + flexible version handling
    In other words, development can be easily done entirely with .NET 4.8, and when deploying the game, ModAPI automatically converts .NET 4.8 references to the game's Mono 2.0 compatible version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions