当前位置: 首页 > 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#文件包含到工程里面了。

相关文章:

  • 前端安全直传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中的线程安全的集合
  • 航空航天领域对滚珠丝杆的精度要求有多高?
  • 国内设计网站公司/深圳网络推广营销
  • 怎么自己创建网站免费/沈阳优化网站公司
  • 暴走漫画网站建设目的/网络营销教材电子版
  • 江北区网站建设/东莞seo培训
  • 横岗做网站公司/如何接广告赚钱
  • css网站导航模板/百度投诉中心热线