本文介绍 Unity3D 项目根目录的 sln 和 csproj 文件,你将知道如何正确理解和使用它们。
对于传统 .NET/C# 的开发者来说,在解决方案中管理 NuGet 包,在 C# 项目中引用 dll 或 NuGet 包是家常便饭。但在 Unity 项目里面,你可能要改变这一观念——因为 Unity 项目里面实际上并不存在 sln 和 csproj 文件。
等等!那我们在根目录看到的那些 sln 和 csproj 文件是什么?
那只是 Unity 编辑器为了让你方便写 C# 代码临时生成给你用的。
默认 Unity 不指定外部脚本编辑器时,会单纯打开 .cs 文件而已。而如果指定了 Visual Studio 作为外部脚本编辑器,那么再从 Unity 中打开 C# 项目时,将会生成 sln 和 csproj 文件,然后调用 Visual Studio 打开生成的 sln 和 csproj 文件。
这里就需要特别注意了:每次点击 Open C# Project 打开 C# 项目时,都会重新生成 sln 和 csproj 文件,所以实际上你对 sln 和 csproj 所做的任何改动都是无效的!
这样的设计,有好处也有坏处:
- 有了 sln 和 csproj,Visual Studio 将能充分运行