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

【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://www.lryc.cn/news/2387179.html

相关文章:

  • 解决leetcode第3509题.最大化交错和为K的子序列乘积
  • 【Python 深度学习】1D~3D iou计算
  • java23
  • 嵌入式工程师常用软件
  • LitCTF2025 WEB
  • Redisson WatchDog会一直续期吗?
  • Linux 下VS Code 的使用
  • Android开发namespace奇葩bug
  • watchEffect
  • Qt 布局管理器的层级关系
  • Android 之 kotlin 语言学习笔记一
  • maven模块化开发
  • 为什么要使用stream流
  • 语义分割的image
  • 云原生安全之网络IP协议:从基础到实践指南
  • C++——QT 文件操作类
  • 【排错】kylinLinx环境python读json文件报错UTF-8 BOM
  • [spring] spring 框架、IOC和AOP思想
  • LInux—shell编程
  • 尚硅谷redis7 37-39 redis持久化之AOF简介
  • GitLab 备份所有仓库(自动克隆)
  • [浏览器]缓存策略机制详解
  • Vue修饰符全解析
  • OpenCV CUDA 模块图像过滤-----创建一个计算图像导数的滤波器函数createDerivFilter()
  • 计算机视觉与深度学习 | Python实现CEEMDAN-ABC-VMD-DBO-CNN-LSTM时间序列预测(完整源码和数据)
  • AWS関連職種向け:日本語面接QA集
  • 【Macos】安装前端环境rust+node环境
  • (01)华为GaussDB((基于PostgreSQL))高斯数据库使用记录,dbeaver客户端配置高斯驱动,连接高斯数据库
  • ARM Linux远程调试
  • day24Node-node的Web框架Express