快速修改 Unity 的 .net 版本


修改 Unity 工程的 .net 版本一方面可以通過  VS 界面來修改的,另一方面也可以通過不開 VS 的方式來快速修改,這里以修改版本為 4.9.1 為例:

 

1:在 cmd 或 powershell 或 bash,git bash 都可以運行:

     sed -i 's/\(TargetFrameworkVersion>\).*\(<\/TargetFrameworkVersion\)/\1v4.9.1\2/g' ./*.csproj

 

2:需要安裝 Nodejs,也可以快速實現 IO 操作:

     node -e "fs.readdirSync('./').forEach(fn => fs.writeFileSync(fn,fs.readFileSync(fn).toString().replace(/(?<=TargetFrameworkVersion\>)[^<\r\n]+/ig,'4.9.1')));"

 

3:在 Unity 工程內添加下列腳本,將自動運行:

    using System.IO;

    using System.Text.RegularExpressions;

    using UnityEditor;

    using UnityEngine;

 

    public class VisualStudioProjectGenerationPostProcess : AssetPostprocessor

    {

        private static void OnGeneratedCSProjectFiles()

       {

            var dir = Directory.GetCurrentDirectory();

            var files = Directory.GetFiles(dir, "*.csproj");

            foreach (var file in files)

            {

                ChangeVersionOf(file);

            }

      }

    static void ChangeVersionOf(string file)

    {

       var text = File.ReadAllText(file);

        var find = @"TargetFrameworkVersion>[^<]+</TargetFrameworkVersion";

        var replace = "TargetFrameworkVersion>v4.9.1</TargetFrameworkVersion";

        if (Regex.Match(text,find,RegexOptions.IgnoreCase).Success)

        {

            text = Regex.Replace(text, find, replace);

            File.WriteAllText(file, text);

        }

    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM