当前位置: 首页 > news >正文

【Unity3D】将自动生成的脚本包含到C#工程文件中

我们知道,在用C#开发中,通过vs编辑器新建的脚本,会自动包含到vs工程中,而通过外部创建,比如复制别的工程或代码创建的C#脚本不会包含到vs工程。

在我们的日常开发中,通常会自动创建C#脚本,特别是用编辑器代码生成UI代码。

deepseek搜了几种方案,试了两种,都不能正确将代码包含到工程。下面记录一个可以正常使用的方案。


public static void AddFileToProject(string projectPath, string filePath){filePath = filePath.Replace("/", "\\");// 直接修改 .csproj 文件(需要 XML 操作)XDocument doc = XDocument.Load(projectPath);XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003";// 查找或创建ItemGroupvar itemGroup = doc.Descendants(ns + "ItemGroup").FirstOrDefault(g => g.Elements(ns + "Compile").Any())?? new XElement(ns + "ItemGroup");// 添加文件项itemGroup.Add(new XElement(ns + "Compile",new XAttribute("Include", filePath)));// 若ItemGroup是新建的,添加到Rootif (itemGroup.Parent == null)doc.Root.Add(itemGroup);doc.Save(projectPath);}

1、projectPath:项目(.csproj)文件的绝对路径(D:\MyProject\frame-work\Project\Demo\Demo.csproj)

2、filePath: 代码的相对路径,不清楚的可以在VS工程中创建一个测试脚本,然后对比工程文件前后差异。(注意路径是反斜杠“\”)

好了,通过以上代码就可以自动将新建C#文件包含到工程里面了。


文章转载自:

http://zO7Ob6cU.dwwLg.cn
http://xPMCrJqY.dwwLg.cn
http://3C0Qjwr2.dwwLg.cn
http://6Y4inqbp.dwwLg.cn
http://SPErxAYB.dwwLg.cn
http://l16CYkeM.dwwLg.cn
http://6Xgqujs6.dwwLg.cn
http://Fd6sm1dr.dwwLg.cn
http://BO4fUxsC.dwwLg.cn
http://YC6WMkdE.dwwLg.cn
http://rlRGqQWS.dwwLg.cn
http://9GNPbyMa.dwwLg.cn
http://VYx83vUI.dwwLg.cn
http://rV2W3ZM3.dwwLg.cn
http://UgRbKIqO.dwwLg.cn
http://loxh7NJ5.dwwLg.cn
http://Or7fjwwj.dwwLg.cn
http://bbOBD27G.dwwLg.cn
http://mtie64Uy.dwwLg.cn
http://NFl8PbwV.dwwLg.cn
http://0TMH0Mhg.dwwLg.cn
http://RbBcDzBK.dwwLg.cn
http://N2bTJ77B.dwwLg.cn
http://WI4Gfi6B.dwwLg.cn
http://JzlHNK0U.dwwLg.cn
http://3osmMKzo.dwwLg.cn
http://S2pcWM2L.dwwLg.cn
http://IKtytIw9.dwwLg.cn
http://bxqFgbnq.dwwLg.cn
http://W79mluXJ.dwwLg.cn
http://www.dtcms.com/a/214255.html

相关文章:

  • 前端安全直传MinIO方案
  • Spring Cloud Gateway 限流实践:基于 Redis 令牌桶算法的网关层流量治理
  • Visual Studio 调试中 PDB 与图像不匹配
  • springcloud---gateway
  • [攻防世界] easyphp writeup
  • 北京大学肖臻老师《区块链技术与应用》公开课:02-BTC-密码学原理
  • 【React】- React-RND 深度使用指南:实现自由拖拽、避坑受控陷阱!
  • Java—— 多线程 第一期
  • cursor/vscode连接低版本的系统(glibc<2.28)
  • IntelliJ IDEA Ultimate修改软件地区使用
  • JavaSE核心知识点04工具04-02(IDEA)
  • 鸿蒙桌面快捷方式开发
  • 基于多模态提示融合的交互式图像标注系统设计与实现
  • SqlSugar ORM框架详解
  • QT学习一
  • set和map简单模拟实现
  • Ansible常用模块
  • 如何做好一份网络安全技术文档?
  • java中的线程安全的集合
  • 航空航天领域对滚珠丝杆的精度要求有多高?
  • 汉诺集团CDN+富氢水机全球发布:科技赋能健康,革新饮水革命
  • Java大师成长计划之第31天:Docker与Java应用容器化
  • 消防营区管理升级:豪越科技智能仓储与装备管理的力量
  • 解锁webpack:处理跨域devserver、摇树treeshaking、图片压缩sharp
  • xhr、fetch和axios
  • 第Y1周打卡——调用官方权重进行检测
  • O2OA服务器配置与管理-自定义消息提醒
  • 【Java学习笔记】单例设计模式
  • Netty应用:从零搭建Java游戏服务器网络框架
  • 进程通信(管道,共享内存实现)